2016-05-19 1 views
0

Я попытался передать сообщение «Hello Server» из java-кода в текстовый сетевой код, но я не смог прочитать это сообщение. Как я могу прочитать сообщение из точки net ,как читать данные данных DataOutputStream java в приложении C#

JAVA:

public static void main(String[] args) 
{ 
try 
{  
Socket s=new Socket("192.168.1.100",6666); 
DataOutputStream dout=new DataOutputStream(s.getOutputStream()); 
dout.writeUTF("Hello Server"); 
dout.flush(); 
dout.close(); 
s.close(); 
} 
catch(Exception e) 
{ 
System.out.println(e); 
} 
} 

Dot Net:

static void Main(string[] args) 
    { 
     System.Net.Sockets.TcpListener serverSocket = new System.Net.Sockets.TcpListener(6666); 
     int requestCount = 0; 
     TcpClient clientSocket = default(TcpClient); 
     serverSocket.Start(); 
     Console.WriteLine(" » Server Started"); 
     clientSocket = serverSocket.AcceptTcpClient(); 
     Console.WriteLine(" » Accept connection from client"); 
     requestCount = 0; 
    try 
    { 
     var reader = new BinaryReader(clientSocket.GetStream()); 
     var value = reader.ReadChar(); 
     Console.WriteLine(" » " + value); 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine(ex.ToString()); 
    } 

    clientSocket.Close(); 
    serverSocket.Stop(); 
    Console.WriteLine(" » exit"); 

    Console.ReadLine(); 
} 
+0

Я думаю, 'reader.ReadChar()' читает не более 1 символ , Вы видите, что напечатано или что-то еще происходит? – zapl

+0

Он ничего не печатает, поэтому я изменил его на reader.ReadString(), но он все равно ничего не печатает. – Vengat

+0

может кто-то помочь мне в этом .. – Vengat

ответ

0

я обнаружил решение,

string s = string.Empty, NewLine = string.Empty; ; 
        System.IO.StreamReader MyStreamReader=new System.IO.StreamReader(clientSocket.GetStream(), System.Text.Encoding.UTF8); 
        while((NewLine=MyStreamReader.ReadLine())!=null) 
         s+=NewLine+"\r\n"; 
        MyStreamReader.Close(); 
+0

Было бы проще использовать метод ReadToEnd() 'класса StreamBuffer' – chris579

+0

да, chris ...... – Vengat

Смежные вопросы