Hallo Zusammen,
ich möchte Daten zwischen Java und c# austauschen und da habe ich Problem, weil Java (als Server) an der Stelle: readLine() blockiert (zeile 26), warum nun? D.h. die Verbindung wird aufgebaut aber anscheinend kommen keine Daten an....
ich möchte Daten zwischen Java und c# austauschen und da habe ich Problem, weil Java (als Server) an der Stelle: readLine() blockiert (zeile 26), warum nun? D.h. die Verbindung wird aufgebaut aber anscheinend kommen keine Daten an....
Java:
public class Main
{
public static void main(String[] args) throws Exception
{
ServerSocket m_ServerSocket = new ServerSocket(12111);
int id = 0;
while (true)
{
Socket clientSocket = m_ServerSocket.accept();
ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id++);
cliThread.start();
}
}
}
Java:
class ClientServiceThread extends Thread
{
Socket clientSocket;
int clientID = -1;
boolean running = true;
ClientServiceThread(Socket s, int i)
{
clientSocket = s;
clientID = i;
}
public void run()
{
System.out.println("Accepted Client : ID - " + clientID + " : Address - "
+ clientSocket.getInetAddress().getHostName());
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
while (running)
{
String clientCommand = in.readLine(); // hier wird blockiert
System.out.println("Client Says :" + clientCommand);
if (clientCommand.equalsIgnoreCase("quit"))
{
running = false;
System.out.print("Stopping client thread for client : " + clientID);
}
else
{
out.println(clientCommand);
out.flush();
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Code:
namespace Client
{
class Program
{
static void Main(string[] args)
{
TcpClient myclient = null;
try
{
myclient = new TcpClient("localhost", 12111);
}
catch
{
Console.WriteLine("Failed to connect to server at {0}:999", "localhost");
return;
}
NetworkStream networkStream = myclient.GetStream();
StreamReader streamReader = new StreamReader(networkStream);
StreamWriter streamWriter = new StreamWriter(networkStream);
//streamWriter.Flush();
streamWriter.WriteLine("xxx" + "\n");
}
}
}