【发布时间】:2018-01-22 22:22:07
【问题描述】:
我一直在关注here 找到的一个简单的 UDP 服务器/客户端教程,我有一个关于客户端连接到服务器的端口的快速问题。
从代码来看,很明显服务器和客户端是通过8888端口连接的:
客户端.cpp
#define SERVER "127.0.0.1" //ip address of udp server
#define BUFLEN 512 //Max length of buffer
#define PORT 8888 //The port on which to listen for incoming data
服务器.cpp
#define BUFLEN 512 //Max length of buffer
#define PORT 8888 //The port on which to listen for incoming data
但是,当我实际运行服务器和客户端时,服务器说客户端连接的端口总是不同的:
首次运行(服务器日志):
第二次运行(服务器日志)
注意端口如何再次变化
为什么连接的端口会从 8888 改变?
【问题讨论】:
-
发送端口!=接收端口。我在我的机器上打开一个随机端口(54679)并在端口 8888 上发送给你。你在端口 8888 上监听并且可以看到我的发送端口(54679)。
-
客户端从不调用
bind()来设置其本地端口。该评论具有误导性。 -
他们只是将评论从服务器复制到客户端,没有改变它以反映不同的方向。