2017-12-10 20 views
0

나는 Mortal Kombat 같이 인 1v1 (pc 대 pc) 온라인 게임을 만들고, TcpListener를 사용하여 시도했다 ,하지만 나는 1v1이 될 다른 클라이언트를 추가하는 방법을 잘 모르겠다. 피어 투 피어가 더 좋을지에 대해서도 논쟁 중이지만 P2P의 코드 예제를 찾지 못했지만 그렇지 않았다. 시도해보십시오. 하나의 클라이언트 만 추가 할 다른 확실하지, 목록의 생각을 받아 내가 가지고있는 코드를하지만 내가 어떻게 두 번째로 하나의 클라이언트에 대한 정보를 보낼 생각이없는 것2 명의 클라이언트 이상을 받아들이고 1 명의 클라이언트에게서 다른 클라이언트에게 응답을 보낼 서버

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); 

.

버튼을 클릭 할 때마다 한 클라이언트에서 다른 클라이언트로 메시지를 보내도록 클라이언트 대 클라이언트 연결에 맞게 서버가 필요합니다.

+0

왜 게임에서 tcp를 사용할 수 있습니까? –

+0

@amastack 필자는 P2P에 대해 어떻게 생각하는지 모르겠다. P2P를 구현할 수있는 예제를 찾을 수 없었다. :) –

답변

0

게임에서 Udp 프로토콜을 사용해야합니다. .NET에서 Socket 클래스 또는 UdpClient 클래스를 사용하여 게임을 구현할 수 있지만 Socket 클래스는 더 어렵지만 유연합니다. Udp 프로토콜은 비 연결이며 클라이언트를 서로 연결할 필요가 없습니다. 편집 : here