编写了一个简单的C/S程序,先运行服务器端,再运行客户端,然后发现控制台只显示了最后运行的客户端的结果。
程序如下:
//服务器程序
package myfirst_Java;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.*;
public class TCPserver {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket server=new ServerSocket(8888);
Socket socket=server.accept();
InputStream in=socket.getInputStream();
byte[] bytes =new byte[1024];
int len= in.read(bytes);
System.out.println(new String(bytes,0,len));
OutputStream out =socket.getOutputStream();
out.write(("你好客户端").getBytes());
socket.close();
server.close();
}
}
//客户端程序
package myfirst_Java;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.*;
public class TCPclient {
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
Socket socket=new Socket("127.0.0.1",8888);
OutputStream out=socket.getOutputStream();
out.write(("你好服务器").getBytes());
InputStream in=socket.getInputStream();
byte[] bytes =new byte[1024];
int len= in.read(bytes);
System.out.println(new String(bytes,0,len));
socket.close();
}
}
最后的运行结果:
但是我想要有两个控制台,分别显示客户端和服务器的结果:
这样就完成想要的结果了。