首页 > 代码库 > C# Socket 入门3 UPD(转)

C# Socket 入门3 UPD(转)

今天来写一个UPD

1.服务端:

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1.创建套节字
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            // 2.填充IP
            IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 4321);

            // 3.绑定
            socket.Bind(ipe);

            // 等待客户机连接
            Console.WriteLine("This is a Server, host name is {0}", Dns.GetHostName());
            Console.WriteLine("Waiting for a client...");

            // 4.得客户机IP
            IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
            EndPoint remote = (EndPoint)sender;

            // 5.接收客户机数据
            byte[] buffer = new byte[1024];
            socket.ReceiveFrom(buffer, ref remote);

            Console.WriteLine(remote.ToString());
            Console.WriteLine(Encoding.Unicode.GetString(buffer));
            Console.ReadKey();
        }
    }
}

2.客户端

            // 1.创建套节字
            m_s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            // 2.填写服务器IP
            IPAddress ip = IPAddress.Parse("127.0.0.1");
            IPEndPoint ipe = new IPEndPoint(ip, 4321);

            string welcome = "你好呀...";
            byte[] data = new byte[1024];
            data = Encoding.Unicode.GetBytes(welcome);
            
            // 3.发送数据
            m_s.SendTo(data, data.Length, SocketFlags.None, ipe);

            Console.ReadKey();

3. 效果

一样, 非常简单@

C# Socket 入门3 UPD(转)