C# Sockets实现服务器与多个客户端进行通讯

本文介绍了如何使用C#的Sockets实现服务器与多个客户端的通信。通过详细讲解服务器端和客户端的代码逻辑,包括监听、连接、通信等步骤,展示了如何建立并维护多个客户端连接。此外,提供了多年前编写的源码下载链接,以供读者参考学习。
摘要由CSDN通过智能技术生成

学习一个新的东西,首先要知道其原理,对于Sockets的学习,可先看一下文档:http://blog.csdn.net/hulihui/article/details/3230503#st     点击打开链接

PS: /*附有源码*/

刚开始是写代码实现了一个客户端和服务器的通讯,后来完善代码,实现了多个客户端与服务器端的通讯,由于原理是差不多的,这里就直接介绍多个客户端与服务器进行通讯。

第一部分  窗体设计

1.服务器端

2.客户端

第二部分  代码

1.服务器端:
– 申请一个socket (socketWatch)用来监听的
– 绑定到一个IP地址和一个端口上
– 开启侦听,等待接授客户端的连接
– 当有连接时创建一个用于和连接进来的客户端进行通信的socket(socketConnection)
– 即续监听,等侍下一个客户的连接

 

//服务器端
using System.IO;
using System.Net;
using System.Threading;
using System.Net.Sockets;

namespace SocketsServer
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Socket socketWatch = null;
        Thread threadWatch = null;

        private void startconn_Click(object sender, EventArgs e)
        {
            socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress ipaddress = IPAddress.Parse(localip.Text.Trim());
            IPEndPoint endpoint = new IPEndPoint(ipaddress, int.Parse(porttext.Text.Trim()));
            socketWatch.Bind(endpoint);


            socketWatch.Listen(10);

            threadWatch = new Thread(WatchingConn);
            threadWatch.IsBackground = true;
        
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值