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
如何使用2台虚拟机在java中测试socket程序?_Java_Sockets_Virtual - Fatal编程技术网

如何使用2台虚拟机在java中测试socket程序?

如何使用2台虚拟机在java中测试socket程序?,java,sockets,virtual,Java,Sockets,Virtual,我用java编写了一个简单的socket程序,并使用CMD对其进行了测试。 但是我需要使用2个虚拟盒来测试程序 那么你能帮我告诉我测试程序必须遵循的程序吗 这是密码 import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub

我用java编写了一个简单的socket程序,并使用CMD对其进行了测试。 但是我需要使用2个虚拟盒来测试程序

那么你能帮我告诉我测试程序必须遵循的程序吗

这是密码

import java.io.*;
import java.net.*;
public class Server {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        ServerSocket ss = new ServerSocket(1201);
        Socket s = ss.accept();

        DataInputStream din = new DataInputStream(s.getInputStream());
        DataOutputStream dout = new DataOutputStream(s.getOutputStream());

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String msgin = "",msgout="";
        while(!msgin.equals("end")) {
            msgin = din.readUTF();
            System.out.println(msgin);
            msgout = br.readLine();
            dout.writeUTF(msgout);
            dout.flush();
        }
        s.close();
    }

}
您可以将其用作虚拟机。 只需分别为客户端和服务器运行两个docker容器。

sockets s=newsocket(“127.0.0.1”,1201)将其更改为服务器vm的ip
import java.io.*;
import java.net.*;
public class Client {

    public static void main(String[] args) throws UnknownHostException, IOException {
        Socket s = new Socket("127.0.0.1",1201);
        DataInputStream din = new DataInputStream(s.getInputStream());
        DataOutputStream dout = new DataOutputStream(s.getOutputStream());

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String msgin="",msgout="";
        while(!msgin.equals("end")) {
            msgout = br.readLine();
            dout.writeUTF(msgout);
            msgin = din.readUTF();
            System.out.println(msgin);
        }
        s.close();
    }

}