C# 클라이언트. C# 클라이언트에서 Java 서버로 데이터를 전송하는 중
here 게시물에 비슷한 문제가 있지만 모든 응답을 따라했지만 응답으로 빈 문자열이 있습니다. 데이터입니다. 바로 메시지를 전송 한 후 응답을 받기 전에
연결을 분리 :
try
{
string ENDOFLINE = "\r\n";
TcpClient client = new TcpClient(txtIP.Text, Int32.Parse(txtPort.Text));
NetworkStream stream = client.GetStream();
byte[] data = Encoding.ASCII.GetBytes(txtMessage.Text + ENDOFLINE);
stream.Write(data, 0, data.Length);
String responseData = String.Empty;
Int32 bytes = stream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
stream.Close();
client.Close();
}
catch(Exception ex)
{
Console.WriteLine(ex.message);
}
솔루션 :
여기 내 코드입니다. 나는 이것을 따라 갔다. article
항상 외부 링크를 통해서가 아니라 질문 자체에 코드를 게시하십시오. 따라서 링크가 죽으면 질문이 쓸모 없게되지는 않습니다. –
@PeterB, 조언 해 주셔서 감사합니다. 게시물을 편집했습니다. – budiantoip
Java가 sbyte가 아닌 바이트를 사용하기 때문에 C#에서 바이트 배열을 보낼 수 없습니다 ... 바이트 [] data = Encoding.ASCII .GetBytes (txtMessage.Text + ENDOFLINE); – Alrehamy