C# Socket网络编程入门(服务器与客户端通信,客户端与客户端通信)

WebSocket全双工通讯链接,用于前台和后台自由发送信息

一.效果展示:

效果描述:
1.服务器充当管理员,给所有人发送信息,除服务器以外其他人都能接受到。
2.其他用户发送信息除自己以外其他用户和管理员全能接受到。
在这里插入图片描述

注意:图中打码处为服务器IP和端口,每个电脑都只能访问自己的服务器以及端口,用cmd打开管理员命令窗口,用如下代码 可以查看本机所有IP和端口

netstat -a
//或者
netstat -an

在这里插入图片描述

二.服务器代码:

	public partial class MainForm : Form
{

    List<Socket> ClientProxSocketList = new List<Socket>();

    public MainForm()
    {
        InitializeComponent();
    }

    Socket proxSocket;


    //点击启动按钮
    private void btn_Start_Click(object sender, EventArgs e)
    {
        
        //1  创建Socket
        Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

        //2 绑定端口Ip
        socket.Bind(new IPEndPoint(IPAddress.Parse(txt_Ip.Text),int.Parse(txt_Port.Text)));

        //3 开启监听
        socket.Listen(1000);  //链接:最大接收请求数,超出返回错误信息

        //4 开始接收客户端的链接
        ThreadPool.QueueUserWorkItem(new WaitCallback(this.AcceptClientConnect),socket);

        
    }


    //将远程连接的客户端的IP地址和Socket存入集合中
    Dictionary<string, Socket> dicSocket = new Dictionary<string, Socket>();

    public void AcceptClientConnect(object socket)
    {
        var serverSocket = socket as Socket;

        this.AppendTe
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值