效果图:
**
- 服务端
**
public class MyServer {
public static void main(String[] args) {
//创建到特定服务端口的套接字0-655535,
int port = 10086;
try {
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("server is running at"+serverSocket.getLocalSocketAddress());
//建立套接字,获取socket对象
Socket socket= serverSocket.accept();
System.out.println("one client has connected the server,"+socket.getRemoteSocketAddress());
//收据接收和发送
while (true){
//接受
InputStream is = socket.getInputStream();
Scanner scanner = new Scanner(is);
String str = scanner.nextLine();
System.out.println("client:"+str);
//发送
OutputStream os = socket.getOutputStream();
PrintStream printStream = new PrintStream(os);
Scanner input = new Scanner(System.in);
String msg = input.nextLine();
if("quit".equals(msg)) {
break;//结束服务端
}
printStream.println(msg);
printStream.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.客户端
ublic class MyClient {
public static void main(String[] args) {
String ip = "127.0.0.1";
int port = 10086;
try {
Socket socket = new Socket(ip,port);
String line=null;
while (true){
Scanner input = new Scanner(System.in);
line = input.nextLine();
if("quit".equals(line)) break; //结束客户端
//发送消息
OutputStream os = socket.getOutputStream();
PrintStream printStream = new PrintStream(os);
printStream.println(line);
printStream.flush();
//接受消息
InputStream is = socket.getInputStream();
Scanner scanner =new Scanner(is);
System.out.println("服务端:"+scanner.nextLine());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
改进参考我另一篇博客