SocketService.java 服务器
package com.travelsky.quartz.bean;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketService {
private static ServerSocket server;
public static void main(String[] args) {
try {
server=new ServerSocket(4331);
System.out.println("等待客户端呼叫");
Socket sok = server.accept();
DataOutputStream out = new DataOutputStream(sok.getOutputStream());
DataInputStream in = new DataInputStream(sok.getInputStream());
String s = null;
int i = 0;
while(true){
// s = in.readUTF();
out.writeUTF(++i+"服务器发送的消息");
// System.out.println("服务器收到:"+s);
Thread.sleep(2000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
SocketTest.java 客户端
package com.travelsky.quartz.bean;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketTest {
private static Socket socket;
public static void main(String[] arg){
try {
socket = new Socket("172.29.1.178",4331);//本机ip,端口随意,只要是未被占用的
DataInputStream in = new DataInputStream(socket.getInputStream());
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
String s = null;
int i =0;
while(true){
// out.writeUTF("用户自定义消息");
s = in.readUTF();
System.out.println(++i+"客户端收到:"+s);
Thread.sleep(500);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally{
closeSocket();
}
}
private static void closeSocket(){
if(socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
客户端和服务器可以相互通信