C#使用Socket实现一个socket服务器与多个socket客户端通信

时间:2022-05-20 11:02:27
【文件属性】:

文件名称:C#使用Socket实现一个socket服务器与多个socket客户端通信

文件大小:57KB

文件格式:RAR

更新时间:2022-05-20 11:02:27

socket

在分布式调度系统中,如果要实现调度服务器与多台计算节点服务器之间通信,采用socket来实现是一种实现方式,当然我们也可以通过数据存储任务,子节点来完成任务,但是往往使用数据作为任务存储都需要定制开发,要维护数据库中任务记录状态等等。开发的东西还是有点多,而且还不够灵活。因此,我个人是比较偏向于使用socket来实现任务的调度工作。原因:使用socket实现调度比较灵活,而且扩展性都比较好。   实现思路:调度服务器要实现调度工作,它必须与所有计算节点之间建立连接。而且他需要知道每台计算节点的任务状况,因此服务器节点必须存储与所有计算节点的socket连接对象。   在客户端唯一需要知道的就是它归属的调度服务器的通信IP和端口,因此client是发送连接的主动方,由调度服务器监听是否有client请求建立连接,当建立连接成功后,把该连接信息存储到一个结合中以便监控client的存货状态及通信使用。 扩展: 由于server端是存储了所有server与client的连接对象,因此我们是可以基于此demo的基础上实现聊天系统: 每当


【文件预览】:
SocketServerAcceptMultipleClient
----SocketClient()
--------bin()
--------obj()
--------SocketClient.csproj(3KB)
--------Main.resx(6KB)
--------Properties()
--------Program.cs(583B)
--------Main.Designer.cs(4KB)
--------Main.cs(5KB)
--------app.config(144B)
----.vs()
--------socket()
----socket.sln(6KB)
----SocketServerAcceptMultipleClient()
--------SocketServerAcceptMultipleClient.csproj(2KB)
--------bin()
--------obj()
--------Properties()
--------App.config(77B)
--------SocketServer.cs(6KB)

网友评论