Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java套接字发送数据_Java_Sockets - Fatal编程技术网

Java套接字发送数据

Java套接字发送数据,java,sockets,Java,Sockets,我创建了两个类,一个是服务器和客户端,我通过套接字输入和输出流发送数据,但是不能发送多条消息 服务器: public class SOK_1_SERVER { public static void main(String[] args) throws Exception { SOK_1_SERVER Sever = new SOK_1_SERVER(); Sever.run(); } private void run() th

我创建了两个类,一个是服务器和客户端,我通过套接字输入和输出流发送数据,但是不能发送多条消息

服务器:

public class SOK_1_SERVER {

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

        SOK_1_SERVER Sever = new SOK_1_SERVER();
        Sever.run();
    }

    private void run() throws Exception {
        ServerSocket SRVSOCK = new ServerSocket(444);
        //Waits both client and server to accept and we return 
        //a socket
        Socket SOCK = SRVSOCK.accept();
        //Once accepted 
        InputStreamReader isr = new InputStreamReader(SOCK.getInputStream());
        BufferedReader br = new BufferedReader(isr);

        String message = br.readLine();
        System.out.println("I read: " + message + "from Client");

        if(message != null)
        {
            //Sending message back to client 
            PrintStream ps = new PrintStream(SOCK.getOutputStream());
            ps.println("Message Received");
            ps.println("Send from Server");
        }
    }
}
客户

public class SOK_1_CLIENT {

    public static void main(String[]args) throws Exception
    {
        SOK_1_CLIENT client = new SOK_1_CLIENT();
        client.run();
    }

    private void run() throws Exception {
        Socket SOCK = new Socket("localhost",444);
        PrintStream ps = new PrintStream(SOCK.getOutputStream());
        ps.println("Hello to Server from client");

        InputStreamReader ir = new InputStreamReader(SOCK.getInputStream());
        BufferedReader br = new BufferedReader(ir);

        String message = br.readLine();

        System.out.println(message);

    }

}

它只输出接收到的消息,但我认为这是因为我需要一个循环来不断检查新消息,但不确定,因为我刚刚开始查看套接字。

在客户端类中,您需要迭代bufferedReader

而不是

 String message = br.readLine();

 System.out.println(message);
用这个,

 String message ;
 while((message = br.readLine())!=null) {
     System.out.println(message);
 }

您不需要初始值设定项。