我在同一台电脑上,创建了一个Server,两个Socket,我想通过Server实现两个client的通信
我遇到了几个问题一:我让Server监听两个端口,client1的socket绑定端口1,client2的socket绑定端口2(此时两个socket绑定的ip应该相同?...
我遇到了几个问题
一: 我让Server监听两个端口,client1的socket绑定端口1,client2的socket绑定端口2(此时两个socket绑定的ip应该相同?),运行时出现了错误Only one usage of each socket address (protocol/network address/port) is normally permitted。
二: 我用mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);解决了问题一以后,再用SendTo(buff, 中结点2)(此处用SendTo是为了实现转发)进行转发,结果中结点2没收到信息,而中结点1却收到了
求各位高手赐教,或给我一个例子,我慢慢研究,很急,拜谢了!!!
前辈们 请出面帮晚辈一下吧 谢谢了 展开
一: 我让Server监听两个端口,client1的socket绑定端口1,client2的socket绑定端口2(此时两个socket绑定的ip应该相同?),运行时出现了错误Only one usage of each socket address (protocol/network address/port) is normally permitted。
二: 我用mySocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);解决了问题一以后,再用SendTo(buff, 中结点2)(此处用SendTo是为了实现转发)进行转发,结果中结点2没收到信息,而中结点1却收到了
求各位高手赐教,或给我一个例子,我慢慢研究,很急,拜谢了!!!
前辈们 请出面帮晚辈一下吧 谢谢了 展开
2个回答
展开全部
如果两个socket A、B 同时监听同一个端口。
只有A可以正常收发数据;B是不能收数据的。只有等待A关闭了后,B才能生效,才能正常收发数据。
listen这个函数 不知道你注意没,只要打开后,除非close socket 不然他是一直监听的。
所以要么你通过代码自动或手工实现close socket A,然后打开B,接收。 当要接收A时,又关闭B打开A。。 这样当然非常不理想。
所以最好把两个client绑定在不同的端口上。IP当然可以相同,你想象,一台计算机一个IP,却有那么多端口(0-65535)通信
只有A可以正常收发数据;B是不能收数据的。只有等待A关闭了后,B才能生效,才能正常收发数据。
listen这个函数 不知道你注意没,只要打开后,除非close socket 不然他是一直监听的。
所以要么你通过代码自动或手工实现close socket A,然后打开B,接收。 当要接收A时,又关闭B打开A。。 这样当然非常不理想。
所以最好把两个client绑定在不同的端口上。IP当然可以相同,你想象,一台计算机一个IP,却有那么多端口(0-65535)通信
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
快又稳
2024-10-28 广告
2024-10-28 广告
广州快又稳网络科技有限公司是一家集技术研发、产品创新、服务优化于一体的高新技术企业。公司自成立以来,始终秉承“网络使人类缩进距离,我们让网络快又稳”的核心理念,致力于为全球客户提供高效、安全、易用的互联网解决方案及信息技术服务。在数字时代,...
点击进入详情页
本回答由快又稳提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询