c#如何实现多个客户端的通信(同一个服务器)

 我来答
慕鸿骞疏略
2020-01-20 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:904万
展开全部
客户端之间的通讯有两个办法。
1.
服务器中转
2.
服务器上注册后,客户端之间直接通信。
对于第一种方法,大多比较简单。查一下socket的文章,还有大把现成的代码给你看。
第二个方法就稍微复杂一些。
但原理都一样。客户端A,链接服务器后,地址信息就保存到了服务器上。除了保持与服务器的通信外。另外开启一个
Socket,绑定到另一个端口,并且一直监听此端口。
客户端B连接服务器,从服务器上获取客户端A的地址信息。把客户端A当成服务器,连接A。
初香天兰莱
2020-04-11 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:540万
展开全部
建立多个线程就ok了
为每一个连接
创建一个线程去处理
while
(true)
{
//
得到包含客户端信息的套接字
Socket
client
=
server.Accept();
//创建消息服务线程对象
ClientThread
newclient
=
new
ClientThread(client);
//把ClientThread
类的ClientService方法委托给线程
Thread
newthread
=
new
Thread(new
ThreadStart(newclient.ClientService));
//
启动消息服务线程
newthread.Start();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
许子美益韦
2019-03-17 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:724万
展开全部
单纯的多线程是不可能实现的
要用到socket
你到msdn或者网上一搜
结果一大堆
特别是msdn里讲的相当详细
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式