Проблемы с сервером Java TCP - PullRequest
       0

Проблемы с сервером Java TCP

0 голосов
/ 02 февраля 2012

У меня есть простой tcp-сервер java, который просто получает запросы от TCP-клиента, довольно простые вещи:

private static void startserver()
{
    String Request;
    try
    {
    ServerSocket ss=new ServerSocket(1800);
    Socket s=ss.accept();
    System.out.println("Client Accepted");
    BufferedReader br=new BufferedReader(new
    InputStreamReader(s.getInputStream()));
    System.out.println(br.readLine());
    //Request = br.readLine();
    PrintWriter wr=new PrintWriter(new
    OutputStreamWriter(s.getOutputStream()),true);
    wr.println("This is sent to client");
    }catch(Exception e){System.out.println(e);}
}

Теперь клиенты отправляют сообщение на сервер, что, как я понимаю, происходит здесь:

    BufferedReader br=new BufferedReader(new
    InputStreamReader(s.getInputStream()));
    System.out.println(br.readLine());

Теперь это работает нормально, но я хочу установить строку «Запрос» как сообщение, полученное от клиента, поэтому я сделал:

Request = br.readLine();

Но это ломаетсясервер, в основном никакое сообщение не получено от клиента или даже отправлено клиенту.TCP-клиент (в C #) выглядит следующим образом:

 static void Main(string[] args)
        {
            try
            {
                TcpClient tc = new TcpClient("172.16.0.104", 1800);// in the place of server, enter
                Console.WriteLine("Server invoked");
                NetworkStream ns = tc.GetStream();
                StreamWriter sw = new StreamWriter(ns);
                sw.WriteLine("This message is sent to the server");
                sw.Flush();
                StreamReader sr = new StreamReader(ns);
                Console.WriteLine(sr.ReadLine());
            }
            catch (Exception e) { Console.WriteLine(e); }
            Console.ReadKey();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...