Próbuję napisać dwie aplikacje - serwer w C# oraz klienta w java, które będą mogły się komunikować pomiędzy sobą. Niestety mogę tylko przesyłać dane z serwera do klienta - w przeciwnym wypadku całość się rozwala. Wiem już, że wina leży po stronie klienta(komunikacja serwer C# - klient C# działa bez zarzutu). Nie mam już żadnych pomysłów, także po prostu wrzucam kod poniżej:
Kod serwera w C#
try
{
ServerAppListener = new TcpListener(AndroidAppAddress);
ServerAppListener.Start();
richTextBox1.Text += "Server started" + "\n";
isServerEnabled = true;
while (!ServerAppListener.Pending())
{
if (bgwServerListener.CancellationPending)
{
if (ServerAppClient != null)
{
ServerAppClient.Close();
ServerAppClient = null;
}
ServerAppListener.Stop();
ServerAppListener = null;
isServerEnabled = false;
}
}
isClientConnected = true;
ServerAppClient = ServerAppListener.AcceptTcpClient();
tcpStream = ServerAppClient.GetStream();
tcpReader = new BinaryReader(tcpStream);
tcpWriter = new BinaryWriter(tcpStream);
richTextBox1.Text += "Client '" + ServerAppClient.Client.RemoteEndPoint + "' connected\n";
tcpWriter.Write("hello client");
richTextBox1.Text += "Client '" + ServerAppClient.Client.RemoteEndPoint + "' writed: '" + tcpReader.ReadString() + "'\n";
richTextBox1.Text += "Client '" + ServerAppClient.Client.RemoteEndPoint + "' disconnected\n";
tcpReader = null;
tcpWriter = null;
tcpStream = null;
ServerAppClient.Close();
ServerAppClient = null;
ServerAppListener.Stop();
ServerAppListener = null;
isServerEnabled = false;
isClientAuthenticated = false;
isClientConnected = false;
bgwServerListener.CancelAsync();
}
catch (Exception ex)
{
richTextBox1.Text += "\n********** Fail *********\n\n" + ex.ToString() + "\n\n*********** End of fail ************\n\n";
}
Kod klienta Java
try
{
Socket con = new Socket(host, port);
if(con.isConnected())
{
System.out.println("Connected");
InputStream is = con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintWriter out = new PrintWriter(con.getOutputStream (), true);
String readtext = br.readLine();
System.out.println(readtext);
out.write("hello server");
br.close();
out.close();
is.close();
con.close();
System.out.println("Disconnected");
}
else
System.out.println("Disconnected");
}
catch(Exception ex)
{
System.out.println();
System.out.println("********* Fail **********");
System.out.println(ex.toString());
System.out.println("****** End of fail ******");
}
Ma ktoś może pomysł co może być nie tak?