zoukankan      html  css  js  c++  java
  • socket udp无连接通信

    socket udp无连接通信

     

    参考地址:https://www.cnblogs.com/dj1232090/p/7608215.html 比较完整

    客户端:用到json库

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Socket_Client
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                var obj = new UserModel() { Id = "123", Name = "张三" };
                var json = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                socket.SendTo(Encoding.UTF8.GetBytes(json), new IPEndPoint(IPAddress.Parse("127.0.0.1"), 3333));
            }
        }
    
        public class UserModel
        {
            public string Id { get; set; }
    
            public string Name { get; set; }
        }
    }


    服务端:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Socket_Server
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                TextBox.CheckForIllegalCrossThreadCalls = false;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.textBox1.Text = "开始监听....";
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                socket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 3333));
                Thread recTh = new Thread(Recive);
                recTh.Start(socket);
            }
    
            private void Recive(object obj)
            {
                byte[] buffer = new byte[1024];
                var socket = obj as Socket;
                while (true)
                {
                    int count = socket.Receive(buffer);
                    var msg = Encoding.UTF8.GetString(buffer, 0, count);
                    this.textBox1.Text = this.textBox1.Text + "
    " + msg;
                }
            }
        }
    }
  • 相关阅读:
    win10- *.msi 软件的安装,比如 SVN安装报2503,2502
    Java-byte[]与16进制字符串互转
    log4j 日志脱敏处理 + java properties文件加载
    CentOS7编译安装SVN(subversion1.9.7)
    Samba安装与配置
    php 实现redis发布订阅消息及时通讯
    PHP中使用ActiveMQ实现消息队列
    sphinx 配置文件全解析
    nginx和apache 配置
    php实现汉诺塔问题
  • 原文地址:https://www.cnblogs.com/zlp520/p/12089241.html
Copyright © 2011-2022 走看看