WinFrom如何使用socket服务端
作者 : Jacky 发布于 2023-05-23 17:30:45 浏览 954 次
    public partial class Form1 : Form
    {
        public delegate void TestDelegate();
        NetServer server;
        public Form1()
        {
            InitializeComponent();
        }
         private void Form1_Load(object sender, EventArgs e)
       {
            server = new NetServer(8088);//你的tcp端口,也可以绑定你的ip
            server.OnNewConnection += (o, ea) =>
            {
                this.Invoke(new TestDelegate(() =>
                {
                    this.richTextBox1.AppendText($"new client connect:{o.EndPoint}");
                }));
            };
            server.OnMessageByte += (o, m, ea) =>
            {
                this.Invoke(new TestDelegate(() =>
                {
                    this.richTextBox1.AppendText($"client {o.EndPoint}:{m.GetString()}");
                    //16进制读取  m.ByteToHexString();
                }));
                o.Send($"server receive data:{m.GetString()}");
            };
            server.OnStart += (o, ea) =>
            {
                this.Invoke(new TestDelegate(() =>
                {
                    this.richTextBox1.AppendText($"socket listen port:9088 server start!");
                }));
            };
            server.Start();
    }
  }

你也可以设置接受数据为16进制
server.DataType = SocketDataType.HexString;
是开启tcp服务还是udp服务,都可以配置。
server.ProtocolType = ProtocolType.Tcp;
设置你的socket服务是否加密

            server.SocketAuth = o =>
            {
                var token = o.Headers.GetMatch("token:[^\r\n]+");
                if (token != "aaaaa") return false;
                return true;
            };

是否换行
server.IsNewLine = true;

所有评论(0)