A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

两台计算机通信时,一方怎么知道另一方的端口号,是不是每个程序在不同的主机上都有自己固定的端口号?比如QQ的都是1111.

14 个回复

倒序浏览
打个酱油 抢个沙发
回复 使用道具 举报
把包截下来看看
回复 使用道具 举报
我分析可能是这样的,也不知道对不对:首先你链接服务器,服务器就可以知道你的端口和ip,发信息是先发到服务器那里,然后通过服务器那里转发给你要发给那个人,也就是说服务器必须知道你们俩的ip和端口,就这样可以通信了,个人理解的,你自己验证一下是不是这样吧
回复 使用道具 举报
客户端写好的吧,网页就是默认的80
回复 使用道具 举报
这个涉及到计算机网络,就是OSI七层模型,这不是一句话能讲清楚的。推荐看《计算机网络》,这个和JAVA半毛钱关系没有。
回复 使用道具 举报 0 1
enjoy 中级黑马 2014-12-26 16:29:54
7#
服务器与客户端写好的
回复 使用道具 举报
abathe 中级黑马 2014-12-26 16:59:36
8#
目前所学还不够啊,加油
回复 使用道具 举报
客户端有链接服务端必须得知道端口的,当客户端连上服务端时它也会把自己的端口告诉服务端的,这样大家都知道对方的端口了
回复 使用道具 举报
:handshake
回复 使用道具 举报
端口是自定义的
回复 使用道具 举报
这个我也有疑问。
回复 使用道具 举报
我的理解应该是这样的,服务端和客户端之间,客户端可以指定一个端口,也就是发送的那个数据包,而这个数据包,一般人都称呼封包,它是一个带有多层包装的一个数据包,注意它的包装都是有指定规则的,而这个规则很明显被java封装了,提供给我们一个方法。发送到服务器处理的时候,服务器也会按照指定的规则给数据包进行解包处理。同时是如何知道那个端口的呢? 是因为java在封装的过程中定义了一个规则,所以服务端也是按照这个规则来获取端口号的。如果你真想了解,可以去看看Java关于那个方法的源码。  不过这个确实有用,以后做游戏或许深入开发,这个数据的封包的规则都是自己写的。
回复 使用道具 举报
云兮丶 发表于 2014-12-27 19:21
我的理解应该是这样的,服务端和客户端之间,客户端可以指定一个端口,也就是发送的那个数据包,而这个数据 ...

谢了哥们!!
回复 使用道具 举报
云兮丶 发表于 2014-12-27 19:21
我的理解应该是这样的,服务端和客户端之间,客户端可以指定一个端口,也就是发送的那个数据包,而这个数据 ...


非常感谢!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马