为什么UDP发送和接收的端口号必须一致?
答案:6 悬赏:30 手机版
解决时间 2021-11-18 06:38
- 提问者网友:最爱你的唇
- 2021-11-17 08:03
为什么UDP发送和接收的端口号必须一致?
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-11-17 08:29
DatagramSocket用于接收和发送UDP的Socket实例。该类有3个构造函数:DatagramSocket():通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。程序会让操作系统分配一个可用的端口。DatagramSocket(int port):创建实例,并固定监听Port端口的报文。通常用于服务端。
全部回答
- 1楼网友:野味小生
- 2021-11-17 12:45
没有这个说法,你的结论是错误的。
- 2楼网友:荒野風
- 2021-11-17 12:25
《梦里无寻处》:月儿行云何处去?忘了归来,不道春将暮。百草千花寒食路,香车系在谁家树。泪眼倚楼堪独语,双燕来时,陌上相逢否?撩乱春愁如柳絮,依依梦里无寻处。
- 3楼网友:鱼芗
- 2021-11-17 10:51
UDP在外网通信时,需要由内网客户端向外网(独立IP,不经过路由)的服务器发出消息,内网路由会打开一个洞,短时间允许外网目标ip和目标端口往回发消息,否则外网的消息发不到内网的电脑上,直接被路由扔了。所以
对于服务器来说,哪个端口接收的,就要用哪个端口发回来,还得尽快发,否则内网路由就把洞堵住了。外网再发消息,或者不是“原路返回”的消息,统统被丢掉。。。。所以伱收不到啦。
同样,路由会把返回的消息转发到客户端ip指定的端口上,如果端口不一样的话,伱的客户端也收不到。。。
对于服务器来说,哪个端口接收的,就要用哪个端口发回来,还得尽快发,否则内网路由就把洞堵住了。外网再发消息,或者不是“原路返回”的消息,统统被丢掉。。。。所以伱收不到啦。
同样,路由会把返回的消息转发到客户端ip指定的端口上,如果端口不一样的话,伱的客户端也收不到。。。
- 4楼网友:不甚了了
- 2021-11-17 10:06
没这个说法,
只是,如果你不指定监听端口号的话,客户端怎么监听?服务器端又如何知道要返回给客户端哪个端口呢?
一般情况下,服务器端根据客户端的端口号返回的,比如客户端使用1024发送到服务器端的80端口,那么服务器端接收后返回到客户端哪个端口呢?所以还是返回1024最好。
只是,如果你不指定监听端口号的话,客户端怎么监听?服务器端又如何知道要返回给客户端哪个端口呢?
一般情况下,服务器端根据客户端的端口号返回的,比如客户端使用1024发送到服务器端的80端口,那么服务器端接收后返回到客户端哪个端口呢?所以还是返回1024最好。
- 5楼网友:从此江山别
- 2021-11-17 09:22
这是通讯协议规定的。
网络通讯中,IP地址+端口才能唯一标识一个真实的通讯地址。
就像是现实中如果写信给一个人,发信人必须写清楚省市区和邮箱号,收件人有同一个邮箱的钥匙才能收到信一样。
IP地址指明了具体的计算机,就像是发信时指明了小区的楼号
而端口指明了具体的收信人,就像邮箱指明同一栋楼(同一计算机)里的具体哪个门牌号一样。
网络通讯中,IP地址+端口才能唯一标识一个真实的通讯地址。
就像是现实中如果写信给一个人,发信人必须写清楚省市区和邮箱号,收件人有同一个邮箱的钥匙才能收到信一样。
IP地址指明了具体的计算机,就像是发信时指明了小区的楼号
而端口指明了具体的收信人,就像邮箱指明同一栋楼(同一计算机)里的具体哪个门牌号一样。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯