如何将套接字连接到本地网络上的服务器套接字?

时间:2015-07-06 15:56:50

标签: java sockets networking

我正在创建一个消息传递应用程序,它将连接本地网络上的两个或多个用户并开始发送消息。它不需要互联网连接。 现在我不知道在哪里制作套接字以及serverSocket在哪里? 谁是客户,谁将成为服务器? 当时我写的代码是这样的 ....

static ServerSocket server;
static Socket client;
public static void main(String[] args) throws IOException {
        try{
            server=new ServerSocket(65474);
        }
        catch(IOException e){
            System.out.println("Port not Free");
        }
        while(server.isClose()==false){
             client=server.accept();
        }
        BufferedReader rdr=new BufferedReader(new InputStreamReader(client.getInputStream()));

从这里开始,我将从客户端获得输入。 这段代码是否正确?客户端会正确连接到服务器吗?

1 个答案:

答案 0 :(得分:2)

你无限接受客户,但你永远无法阅读他们的数据。

你应该这样说:

while(!server.isClosed() {
     client=server.accept();
     BufferedReader rdr=new BufferedReader(new InputStreamReader(client.getInputStream()));
    }

你可以删除== false并且只是否定你得到的布尔值。 如果返回false,则设置为true;如果返回true,则设置为false。

不要忘记阅读数据并在屏幕上显示如下:

String receivedText = rdr.readLine();
System.out.println(receivedText);