SOCKET通信中客户端如何先绑定端口再连接?

在写一个程序需要在连接之前先获取本地的端口,在网上看到的代码是在sa.sin_port=htons(端口号)中填入想绑定的本地端口再Bind,但是这里不是对方服务器的端口... 在写一个程序需要在连接之前先获取本地的端口,在网上看到的代码是在sa.sin_port = htons(端口号)中填入想绑定的本地端口再Bind,但是这里不是对方服务器的端口号吗?为什么会绑定到本地?那又在哪里填服务器的端口号?测试中客户端直接connect正常,但是先bind再connect就会错误,根本不发包,求大神指点。 解决了问题还可以加分。 请不要给我说客户端不需要绑定本地端口就可以通信,因为系统会随机指定。我的问题就是要在连接之前获取本地端口,连接之后获取端口倒是能实现,但是连接的那个过程要卡住很久。 展开
 我来答
但山禹醉山
2019-08-16 · TA获得超过1132个赞
知道小有建树答主
回答量:1877
采纳率:100%
帮助的人:8.9万
展开全部
俺有两个疑问:
1、不同于服务端,客户端在一台机器来上可以有多个程序连接到服务端的,服务端必须源用固定的端口,但客户端如何确定它当前可以使用的端口?唯一的办法就是你的程序先查出未被本机使用的端口,但这样做还不如让系统来给百你分配个端口,然后再绑定。再者,TCP连接中,连接建立的过程你该清度楚的。
2、为啥非要绑定端口呢?
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式