2017-01-18 1 views
1

java nio를 사용하여 게임 서버를 만들고 있는데 socketchannel을 사용하거나 C#으로 데이터를 보내는 방법을 찾을 수 없습니다. 어떻게이 문제를 해결할 수 있습니까? 그냥/O를 사용합니까?C# 클라이언트에서 Java SocketChannel 서버로 버퍼를 보낼 수 있습니까?

+0

동 기적으로이를 수행하려는 경우 MSDN에서 동기식 통신을 위해 소켓을 사용하는 방법에 대한 예제가 있습니다. https://msdn.microsoft.com/en-us/library/kb5kfec7(v=vs.110) .aspx – Sidewinder94

+0

니오는 스트림 유형을 사용하지 않지만 어떤 문제도 일으키지 않았습니까? – ChairOfOnbi

+2

두 언어 모두 이해할 수있는 형식으로 페이로드를 보내면 Java에서 NIO와 C#을 다른 것으로 사용하면 관련이 없습니다. 요점은 : 아마도 TCP를 통해 바이트를 송신 할 것입니다 - 맞습니까? 따라서 바이트 전송/수신에 선호하는 방법을 사용할 수 있습니다. 괜찮은 프로토콜 만 있으면됩니다. 몇 바이트 프로토콜로 JSON, XML과 같은 표준을 만들었습니까? 페이로드를 serialize/deserialize 할 수 있습니다. – Fildor

답변

0

소켓을 통한 객체 통신에는 많은 제한이 있습니다. 양측의 데이터를 이해하려면 일종의 통신 프로토콜을 정의해야합니다. 직렬화 된 데이터를 보내서 반대쪽에서 동일한 방식으로 직렬화가 수행되도록 할 수도 있습니다. 사용하기 쉽도록 WebServices (SOAP 또는 RESTful)와 같은 다른 메커니즘을 사용해야합니다.

+1

다른 언어를 사용하는 응용 프로그램간에 네트워크에 데이터를 전송할 때 websocket + json 조합을 사용하고 싶습니다. 이 두 가지 모두 주류 언어의 많은 부분에서 꽤 잘 지원됩니다. – Sidewinder94

+0

@ Sidewinder94 OP는 ** 게임 ** 서버를 말합니다. 따라서 기술 선택은 교환 할 데이터의 유형에 따라 크게 달라집니다. – Fildor

+0

@Fildor 나는 완전히 동의한다. 그것은 단지 출발점으로 의도 된 것이지, 완전히 날아간 기적의 해결책이 아니라 ^^ 나는 올바르게 표현하지 못했을 것이다. – Sidewinder94

관련 문제