我正在尝试制作1v1(pc vs pc)在线游戏,就像Mortal Kombat,我尝试使用TcpListener,但我不知道如何添加另一个客户端,所以它将是1v1,我是还讨论Peer to Peer是否会更好,但我没有找到P2P的任何代码示例,所以我还没有尝试进入它。
serverSocket = new TcpListener(IPAddress.Any, 8000);
clientSocket = default(TcpClient);
serverSocket.Start();
MessageBox.Show("Server started");
clientSocket = serverSocket.AcceptTcpClient();
MessageBox.Show("Client connected!");
byte[] response = new byte[clientSocket.ReceiveBufferSize];
NetworkStream networkStream = clientSocket.GetStream();
networkStream.Read(response, 0, clientSocket.ReceiveBufferSize);
这是我接受一个客户端的代码,但不知道还有什么要添加,想到List,但我不知道如何将一个客户端的信息发送到第二个客户端。
我需要服务器适合客户端与客户端连接,因此每次单击按钮时它都会从一个客户端向另一个客户端发送消息。
答案 0 :(得分:0)
你必须在游戏中使用Udp协议。在.Net中你可以使用Socket类或UdpClient类来实现你的游戏,Socket类更难但更灵活。 Udp协议是无连接的,您不需要将客户端彼此连接。 修改强> 您可以在here
中获取更多信息