簡體   English   中英

Java套接字服務器和客戶端套接字c#問題

[英]Java Socket Server and Client Socket c# issue

我在與客戶端c#套接字的java服務器套接字通信時遇到問題。 問題出在我嘗試讀取響應時。 我的代碼是這樣的:

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

在代碼行

Int32 bytes = sock.Receive(RecvBytes, RecvBytes.Length, 0);

我的客戶掛了。 我必須停止申請。 似乎沒有響應套接字服務器。 套接字服務器的特定功能是發送和接收BitStream。

沒有服務器的Java代碼,這很難說,但是服務器很可能沒有發送預期的256字節。 由於默認情況下Socket.Receive處於阻塞狀態,因此客戶端一直在等待數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM