Im пытается сделать tcp-соединение между сервером и клиентом. сервер запрограммирован на C# и cliend на Java ... Сервер работает отлично ... моя проблема в этом коде:Мое приложение (sever/client) заблокировано после использования Readline
try {
InetAddress address = InetAddress.getByName("127.0.0.1");
connection = new Socket(address, port);
BufferedReader inFromServer = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
loginInfo = inFromServer.readLine();
System.out.println("username/pass are received");
System.out.println(loginInfo);
connection.close();
} catch (IOException f) {
System.out.println("IOException: " + f);
} catch (Exception g) {
System.out.println("Exception: " + g);
}
приложение блокируется, и я не могу закрыть его больше ... пока Я заканчиваю отладку из java. Я предполагаю, что проблема заключается в loginInfo, потому что im не получает имя пользователя/пароль, полученные на выходе .. так что любая помощь?
это нить, отправьте сообщение с C#:
Thread listener_service = new Thread((ThreadStart)delegate
{
listener.Start();
while (true)
{
s = listener.AcceptSocket();
Console.WriteLine("Connected to !" + s.RemoteEndPoint);
ASCIIEncoding asen = new ASCIIEncoding();
s.Send(asen.GetBytes("The string was recieved by the server. \n"));
Console.WriteLine("\nSent Acknowledgement");
continue;
}
});
Вы код C# посылаете строку с возвратом каретки/новой линией в конце? –
Почему вы не пишете 'inFromServer.readLine()' внутри цикла while? Как вы узнаете, нет ли данных, которые нужно читать с сервера? –
ive только что добавил поток, который отправил сообщение с сервера в C# .. ive работал 30 часов по этой проблеме, и я еще не разрешил .. Я обыскал весь интернет и не получил ответа .. поэтому я прибегаю к любой помощи .. im new с сетевым подключением – jolyTimePopCorn