在编写网络程序时我一直有个疑问。
我们知道:
在TCP通讯中,服务器和客户端在链接时必须设置对方的IP和端口,
而在UDP通讯中,双方各自监听对方的端口才能获得对方发给自己的信息。我的疑问是:
既然在通讯之前必须知晓对方的端口,如果编写一个UDP聊天程序,
客户端的端口对于服务器端是未知的,服务器端又如何得知客户端的端口呢?
当然,服务器端可以不断监听自己的端口,当发现有客户端链接时可
以获得客户端的端口。但如果服务器的端口也会不断改变时又该怎么办呢?
客户端又该如何获得改变后的服务器端口呢?
我们知道:
在TCP通讯中,服务器和客户端在链接时必须设置对方的IP和端口,
而在UDP通讯中,双方各自监听对方的端口才能获得对方发给自己的信息。我的疑问是:
既然在通讯之前必须知晓对方的端口,如果编写一个UDP聊天程序,
客户端的端口对于服务器端是未知的,服务器端又如何得知客户端的端口呢?
当然,服务器端可以不断监听自己的端口,当发现有客户端链接时可
以获得客户端的端口。但如果服务器的端口也会不断改变时又该怎么办呢?
客户端又该如何获得改变后的服务器端口呢?
解决方案 »
- C++操作SQL2005更新数据库时出错!高手们请进!
- 在线程中执行keybd_event(66,0,0, 0 )为什么产生两个a
- CStringArray的问题,郁闷
- MFC 窗口问题
- 如何快速知道网上邻居的路径是否有效 (例:\\192.168.1.2\test\test.txt)
- 为什么我注册了程序的扩展名,图标也表了,双击的时候为什么提示找不到文件?
- 这个问题砸回事啊?我全都定义了!莫名奇妙的问题,帮忙给点提示,解释一下!
- delete 放掉new申请的内存,出现非法有哪几种情况?
- guess: what is output like?
- 如何用SendMessage向其他窗口发送组合按键消息?
- 对话框随光标移动的问题!急!
- SendMessage函数的最后两个参数是什么用的
知道端口建立连接的通信是tcp的。
(udp)但是服务器段可以监听自己某个端口,来动态获得对方的端口,于是可以互相通信
所以这个都是有一定机制的,关键是可控