C#UDP通信

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;

namespace CommandMange.Socket
{
    public class UdpOperater
    {
        /// <summary>
        /// 单例模式
        /// </summary>
        public static UdpOperater Instance;
        public static UdpOperater GetInstance(int clientPort, int serverPort, string serverIP)
        {
            if (Instance == null)
            {
                Instance = new UdpOperater(clientPort, serverPort, serverIP);
            }
            return Instance;
        }
        UdpClient udpClient = null;
        IPEndPoint udpRemote = null;
        UdpClient udpReceiver = null;
        IPEndPoint remoteHost = null;
        public UdpOperater(int clientPort, int serverPort, string serverIP)
        {
            udpClient = new UdpClient(clientPort);//客户端端口号
            udpRemote = new IPEndPoint(IPAddress.Parse(serverIP), serverPort);//服务端端IP
            udpReceiver = new UdpClient(serverPort, AddressFamily.InterNetwork);//服务端端口号
            remoteHost = null;
        }
        /// <summary>
        /// 客户端
        /// </summary>
        public void ClientSend(string msg)
        {
            var data = Encoding.Default.GetBytes(msg);
            udpClient.Send(data, data.Length, udpRemote);
        }
        /// <summary>
        /// 服务端
        /// </summary>
        public string ServerReceive()
        {
            var data = udpReceiver.Receive(ref remoteHost);
            return Encoding.Default.GetString(data);
        }
    }
}
            UdpOperater udpOperater = UdpOperater.GetInstance(8110, 8112, "192.168.18.19");
            txtMessage.Text += udpOperater.ServerReceive();

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值