0

比如我在一个java程序里发送一条httppost请求,运行的时候系统会给程序自动bind一个端口,like 55555。然后这次通信是我的55555端口和我post的这个ip:port之间进行的还是http的默认80端口和服务器进行的呢? 网络编程接触的少,还望大神指导一二。

有这个疑惑的原因是我内网调外网的webservice,用的边界,然后只给我开放了80端口。我抓了下包 发现和webservice服务端通信的是本地的55555端口,并且这个端口是变化的。 所以想知道55555端口和服务端通信是怎么过得边界

5个回答

0

已采纳

服务器端的入端口应该是可以自由设置的,客户端的出端口我觉得也能设置但没找到过设置的地方,也许是那些客户端软件设计时就指定好了得吧。

0

一般接收数据的监听端口是自定义的,如果端口被占用系统会有警告。
web服务器默认监听80这是标准的规则,浏览器也是会默认发送请求到服务器的80端口。
而你发送数据的端口一般是由系统分配的随机端口。
你要分清楚接收数据的端口和发送数据的端口是不一样的。

0

你post的地址肯定是别人提供给你的域名(或ip)+端口号(默认是80),至于你post时运行的时候程序系统给你绑定的端口跟你请求的地址端口是没关系的,还有你只是一个post请求,系统不应该会给你绑定端口呀

0

举个常见的例子,tomacat在80端口打开,此时存在一个server监听这个端口,如果有一个请求到来,则处理这个请求,常见的请求发起者是浏览器,这是外部到内部的,此时通信端口是80无疑,但是java程序主动打开一个端口,比如5555,请求5555端口,或者从5555端口发出的请求,肯定是和5555端口通信,

0

然后这次通信是我的55555端口和我post的这个ip:port之间进行的还是http的默认80端口和服务器进行的呢?

你的“本机”是客户端,它的端口是 55555 ,你访问的是服务端,它的端口是 80 。跟客户端的 80 没有关系。

撰写答案

相似问题