模拟线程创建socket服务端
cs
//socket帮助类
public class SocketHelper
{
private Socket listenerSocket;
private IPEndPoint endPoint;
public SocketHelper()
{
endPoint = new IPEndPoint(IPAddress.Loopback, 50020); // 端口12345
listenerSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
}
public void StartServer()
{
listenerSocket.Bind(endPoint);
listenerSocket.Listen(10); // 最多10个连接请求排队
Console.WriteLine("Server is running. Waiting for a connection...");
while (true)
{
Socket handler = listenerSocket.Accept();
Console.WriteLine("Connected!");
byte[] buffer = new byte[1024];
int bytesReceived = handler.Receive(buffer);
string message = Encoding.ASCII.GetString(buffer, 0, bytesReceived);
Console.WriteLine("Received: {0}", message);
string welcome = "Hello, and welcome to the server.";
byte[] msg = Encoding.ASCII.GetBytes(welcome);
handler.Send(msg);
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
}
}
创建线程及调用方法
cs
SocketHelper socket = new SocketHelper();//创建socket帮助类实体
Thread thread = new Thread(new ThreadStart(socket.StartServer));//创建线程并制定线程执行方法
thread.Start();//开启线程