최근에 NetworkStreams에 들어가기 시작했는데 질문이있었습니다. 그들이에서 와서 나는 현재 스레드를 생성하고 들어오는 모든 메시지를 처리하고 여기에 각 클라이언트에 대해 여러 개의 NetworkStream이 있습니다.
이를 설명하는 코드입니다. 위의에서client.Connect(serverEndPoint);
clientStream = client.GetStream();
client.NoDelay = true;
ctThread = new Thread(getMessage);
ctThread.Start();
private void getMessage()
{
while (true)
{
Byte[] data = new Byte[800];
String responseData = String.Empty;
Int32 bytes = clientStream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
MessageReceived(this, new ClientMessageEventArgs(responseData));
}
}
을, 나는 인상 처리되는 이벤트 "MessageReceived" 패킷 데이터에 따라. 이것은 훌륭하지만, 요청을 보낸 직후에 데이터를 검색해야하는 별도의 경우가 있습니다.
클라이언트 당 두 개의 스트림이 있으면 괜찮습니까? 동일한 포트에서이 작업을 수행 할 수 있습니까? 어떻게 처리해야합니까? 본질적으로, 나는 (차단 방법) 후 즉시 데이터를 보내고받을 수 있기를 원합니다.
나는 통신을 위해 라이브러리를 사용하지 않으려 고했지만 나는 이것을 사용해도 될 것 같아. 감사. – jgallant