SOCKET通信中客户端如何先绑定端口再连接?
在写一个程序需要在连接之前先获取本地的端口,在网上看到的代码是在sa.sin_port=htons(端口号)中填入想绑定的本地端口再Bind,但是这里不是对方服务器的端口...
在写一个程序需要在连接之前先获取本地的端口,在网上看到的代码是在sa.sin_port = htons(端口号)中填入想绑定的本地端口再Bind,但是这里不是对方服务器的端口号吗?为什么会绑定到本地?那又在哪里填服务器的端口号?测试中客户端直接connect正常,但是先bind再connect就会错误,根本不发包,求大神指点。
解决了问题还可以加分。
请不要给我说客户端不需要绑定本地端口就可以通信,因为系统会随机指定。我的问题就是要在连接之前获取本地端口,连接之后获取端口倒是能实现,但是连接的那个过程要卡住很久。 展开
解决了问题还可以加分。
请不要给我说客户端不需要绑定本地端口就可以通信,因为系统会随机指定。我的问题就是要在连接之前获取本地端口,连接之后获取端口倒是能实现,但是连接的那个过程要卡住很久。 展开
2个回答
2014-06-01
展开全部
俺有两个疑问:
1、不同于服务端,客户端在一台机器上可以有多个程序连接到服务端的,服务端必须用固定的端口,但客户端如何确定它当前可以使用的端口?唯一的办法就是你的程序先查出未被本机使用的端口,但这样做还不如让系统来给你分配个端口,然后再绑定。再者,TCP连接中,连接建立的过程你该清楚的。
2、为啥非要绑定端口呢?
1、不同于服务端,客户端在一台机器上可以有多个程序连接到服务端的,服务端必须用固定的端口,但客户端如何确定它当前可以使用的端口?唯一的办法就是你的程序先查出未被本机使用的端口,但这样做还不如让系统来给你分配个端口,然后再绑定。再者,TCP连接中,连接建立的过程你该清楚的。
2、为啥非要绑定端口呢?
更多追问追答
追问
对于网络原理我很清楚,但是对于socket编程就懂的不多了,我想的就是系统随机分配端口,但是不connect,或者是我指定一个端口来绑定,前提也是不connect。。因为connect不成功会卡住很长时间。对于不知道可以使用的端口这个问题这个可以我先随便指定一个吧,后期再来考虑这个问题。
因为我在它connect之前要用它的端口做一些其他的事情,所以必须要知道端口
追答
连接建立的时间一般都可以设置,不会卡很久。哦,你可能要编程实现。。俺习惯了用控件(BCB)。。
还是搞不懂为啥要在连接之前利用该端口??连接后不也可以么?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
2014-06-01
展开全部
加一个直通号就是,
追问
什么是直通号。。?
追答
加一个直通就是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询