簡體   English   中英

如何通過Java套接字正確設置服務器部分?

[英]How correctly to set up server part through Java socket?

我已經編寫了服務器和客戶端部分,請參閱代碼:

//this I run on my firt PC
public class TCPServer {

 public static void main(String[] args) throws Exception{

    TCPServer server = new TCPServer();
    server.run();
 }

 public void run() throws Exception{
    ServerSocket socket = new ServerSocket(6789);
    Socket SOCK = socket.accept();
    BufferedReader BR = new BufferedReader(new InputStreamReader(SOCK.getInputStream()));

    String msg = BR.readLine();
    System.out.println(msg);

    if(msg != null){
        PrintStream PS = new PrintStream(SOCK.getOutputStream());
        PS.print("MESSAGE RECEIVED");
    }
 }
}


//This I run on my notebook
public class TCPClient {

        public static void main(String args[]) throws Exception{

            TCPClient client = new TCPClient();
            client.run();
        }

        public void run() throws Exception{
            Socket clientSocket = new Socket("192.168.88.77",6789);
            PrintStream PS = new  PrintStream(clientSocket.getOutputStream());
            PS.print("Hello from GLADIS VLADLEN");

            BufferedReader BR = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

            String msg = BR.readLine();
            System.out.println(msg);

        }
}

運行此應用程序后沒有任何反應。 並且只有在我停止客戶端應用程序消息后,服務器部分才會收到。 為什么會發生這種情況? 我嘗試關閉防火牆,但這對我沒有幫助。

服務器和客戶端都使用BufferedReader#readLine()讀取一行。 但是, PrintStream正在發送沒有行終止符的字符。

嘗試調用println而不是print

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM