- 同步方式
服务端:
//位于using System.Net.Sockets;
//参数含义:InterNetwork = IPV4 Stream = 流传输 Tcp = TCP协议
Socket serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPAddress iPAddress = IPAddress.Parse("127.0.0.1"); //设立IP
IPEndPoint iPEndPoint = new IPEndPoint(iPAddress,88);//设立端口号
serverSocket.Bind(iPEndPoint);//绑定ip和端口号
serverSocket.Listen(0);//参数表示可以接受的多少客户端 0代表无数
Socket clientSocket = serverSocket.Accept();//接受客户端信息
//向客户端发送数据
string msg = "Hello World!!!我是第一条消息";
byte[] data = Encoding.UTF8.GetBytes(msg);//SocketType.Stream需要字节通信
clientSocket.Send(data);//发送数据
//接受客户端的数据
byte[] dataBuffer = new byte[1024];
int count = clientSocket.Receive(dataBuffer);//接收也需要字节接收
string msgReceive = Encoding.UTF8.GetString(dataBuffer,0,count);转换
Console.WriteLine(msgReceive);
Console.ReadKey();
clientSocket.Close();
serverSocket.Close();
客户端:
Socket clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
clientSocket.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"),88));//链接服务器
byte[] data = new byte[1024];
clientSocket.Receive(data);
string msg = Encoding.UTF8.GetString(data,0,data.Length);
Console.WriteLine("服务端接受的数据:"+msg);
string msgSend = Console.ReadLine();
byte[] dataBuffer = Encoding.UTF8.GetBytes(msgSend);
clientSocket.Send(dataBuffer);
Console.ReadKey();
clientSocket.Close();
注意:
-
AddressFamily中InterNetwork代表IPV4 InterNetworkV6 代表IPV6
-
SocketType中Stream代表流传输 Dgram代表报文传输
-
ProtocolType.Tcp表示选择的是TCP协议
-
使用到了
-
using System.Net.Sockets; //Socket
-
using System.Net; //IPAddress IPEndPoint
-
using System.Text; //Encoding.UTF8.GetBytes();