一般使用异步连接
- 创建Socket对象,选择合适的寻址方案,类型,协议
- 创建IPAddress对象声明IP
- 创建IPEndPoint对象声明端口号
- 调用Bind方法绑定IP和端口号
- 调用Listen方法挂起客户端
- 调用BeginAccept方法异步等待客户端连接(需要提供回调函数)
服务器端:
//本机10.0.117.245
using System.Net.Sockets;
using System.Net;
using System.Text;
using System;
using ConsoleApp1;
namespace ServiceTerminal
{
class Program
{
static void Main(string[] args)
{
StartServerAsync();
Console.ReadKey();
}
static Messgae msg = new Messgae();
static void StartServerAsync()//异步
{
Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//寻址方案,类型,协议
IPAddress ipAddress = IPAddress.Parse("10.0.117.245");//绑定IP
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 88);//绑定端口号
serverSocket.Bind(ipEndPoint);//绑定ip和端口号
serverSocket.Listen(0);//挂起客户端数量队列为 0==无限 监听
serverSocket.BeginAccept(AcceptCallBack, serverSocket);//异步等待客户端连接
}
static void AcceptCallBack(IAsyncResult ar)
{
Socket serverSocket = ar.AsyncState as Socket;
Socket clientSocket = serverSocket