我在同一台电脑上,创建了一个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却收到了

求各位高手赐教,或给我一个例子,我慢慢研究,很急,拜谢了!!!
前辈们 请出面帮晚辈一下吧 谢谢了
展开
 我来答
wywyyqh23501
推荐于2017-11-25
知道答主
回答量:12
采纳率:0%
帮助的人:13.5万
展开全部
如果两个socket A、B 同时监听同一个端口。
只有A可以正常收发数据;B是不能收数据的。只有等待A关闭了后,B才能生效,才能正常收发数据。
listen这个函数 不知道你注意没,只要打开后,除非close socket 不然他是一直监听的。

所以要么你通过代码自动或手工实现close socket A,然后打开B,接收。 当要接收A时,又关闭B打开A。。 这样当然非常不理想。

所以最好把两个client绑定在不同的端口上。IP当然可以相同,你想象,一台计算机一个IP,却有那么多端口(0-65535)通信
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快又稳
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应... 点击进入详情页
本回答由快又稳提供
chxueli
2012-05-22 · TA获得超过1399个赞
知道小有建树答主
回答量:2633
采纳率:80%
帮助的人:969万
展开全部
监听的端口问题
追问
你好 能详细的解释一下吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式