Server端的创建(VS中建立控制台)
1.创建一个Socket
命名空间: System.Net.Sockets
Socket tcpServer=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//三个参数,寻址方案,套接字类型,协议类型
2.绑定ip和端口
//IPAddress iPAddress = new IPAddress(new byte[] { 127,0,0,1});
IPAddress iPAddress = IPAddress.Parse("127.0.0.1"); //两种方法
IPEndPoint endPoint = new IPEndPoint(iPAddress,5000); //网络终结点为 ip的端口
tcpServer.Bind(endPoint); //向操作系统申请一个可用的ip和端口来进行通讯
3.监听客户端的请求
tcpServer.Listen(100); //最多监听100个客户端
Console.WriteLine("Server 启动完成");
Socket clientSocket= tcpServer.Accept(); //暂停当前线程,直到一个客户端连接过来
Console.WriteLine("客户端连过来了");
4.发送/接受消息
string message = "Hello Client!";
byte[] buffer= Encoding.UTF8.GetBytes(message); //将字符串转换成字节数组
clientSocket.Send(buffer);
Console.WriteLine("Server发送:"+message);
//接受消息
byte[] data = new byte[1024]; //存放消息的字节数组容器
int length = clientSocket.Receive(data); //data长度
string receiveMessage=Encoding.UTF8.GetString(data,0,length);
Console.WriteLine("Server接受到:"+receiveMessage);
客户端的创建(Unity中)
private Socket tcpClient;
public string serverIP="127.0.0.1"; //服务器ip
public int port=5000; //进程端口
void Start ()
{
//1.创建一个Socket
tcpClient = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//2.建立连接请求
IPAddress iPAddress = IPAddress.Parse(serverIP);
IPEndPoint endPoint = new IPEndPoint(iPAddress,port);
tcpClient.Connect(endPoint); //连接
Debug.Log("客户端请求连接");
//3.接受消息
byte[] data = new byte[1024];
int length = tcpClient.Receive(data);
string receiveMessage = Encoding.UTF8.GetString(data);
Debug.Log("接受到:"+receiveMessage);
//发送消息
string sendMessage = "我是客户端,哈哈";
tcpClient.Send(Encoding.UTF8.GetBytes(sendMessage));
Debug.Log("客户端发送了:"+sendMessage);
}