服务端

使用socket创建服务器

点击查看代码
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;


namespace ZhaJinHuaServer
{
    
     class Program
    {
        static Socket serverSocket;
        static void Main(string[] args) {
            serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            serverSocket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6666));
            serverSocket.Listen(10);
            Console.WriteLine("服务器启动成功");
            Thread thread = new Thread(AcceptClient);
            thread.Start();
            Console.ReadKey();
        }

        private static void AcceptClient() {
            Socket clientSocket = serverSocket.Accept();
            byte[] data = Encoding.Default.GetBytes("服务器告诉你连接成功");
            clientSocket.Send(data);
            Thread thread = new Thread(ReveiveMsg);
            thread.Start(clientSocket);
        }

        private static void ReveiveMsg(object clientSocket) {
            byte[] data = new byte[1024];
            int length = (clientSocket as Socket).Receive(data);
            Console.WriteLine(Encoding.Default.GetString(data, 0, length));
        }
    }
}

使用Socket创建客户端

点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ZhaJinHuaClient {
    class Program {
        private static Socket clientSocket;
        static void Main(string[] args) {
            clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            clientSocket.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6666));
            Console.WriteLine("与服务器建立连接");
            clientSocket.Send(Encoding.Default.GetBytes("客户端发送一条信息"));
            Thread thread = new Thread(Receive);
            thread.Start();

        }

        private static void Receive() {
            byte[] data = new byte[1024];
            int length = clientSocket.Receive(data);
            Console.WriteLine(Encoding.Default.GetString(data, 0, length));
        }
    }
}

posted @ 2025-03-27 14:33  doudouqie66  阅读(29)  评论(0)    收藏  举报