클라이언트 C# 소켓을 사용하여 Java 서버 소켓과 통신하는 데 문제가 있습니다. 문제는 응답을 읽으려고 할 때 발생했습니다. 코드 라인Java 소켓 서버 및 클라이언트 소켓 C# 문제
Int32 bytes = sock.Receive(RecvBytes, RecvBytes.Length, 0);
내 클라이언트가 응답에서
IPHostEntry IPHost = Dns.Resolve("IP_ADDRESS");
Console.WriteLine(IPHost.HostName);
string []aliases = IPHost.Aliases;
IPAddress[] addr = IPHost.AddressList;
Console.WriteLine(addr[0]);
EndPoint ep = new IPEndPoint(addr[0],1024);
Socket sock =
new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
sock.Connect(ep);
if(sock.Connected)
Console.WriteLine("OK");
Encoding ASCII = Encoding.ASCII;
string Get = "A";
Byte[] ByteGet = ASCII.GetBytes(Get);
Byte[] RecvBytes = new Byte[256];
sock.Send(ByteGet, ByteGet.Length, 0);
Int32 bytes = sock.Receive(RecvBytes, RecvBytes.Length, 0);
Console.WriteLine(bytes);
String strRetPage = null;
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);
while(bytes > 0) {
bytes = sock.Receive(RecvBytes, RecvBytes.Length, 0);
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);
Console.WriteLine(strRetPage);
}
sock.Close();
: 내 코드는 이것이다. 신청서를 중단해야합니다. 그것은 소켓 서버에 응답하지 않는 것 같습니다. 특정 소켓 서버는 BitStream을 보내고받습니다.
소켓은 기본적으로 _blocking_이므로 아무 것도 전송하지 않으면 '수신'통화가 차단됩니다 (예 : '중단'). –
나는 sock.Send (ByteGet, ByteGet.Length, 0) 명령과 함께 보낸다. – Alle
예, 서버를 보냈지 만 서버가 _back_을 보냅니 까? [Wireshark] (http://www.wireshark.org/)와 같은 도구를 사용하여 데이터가 실제로는 앞뒤로 움직이는 지 확인하는 것이 좋습니다. –