客户端代码:
/**
* 客户端代码
* @author user
*
*/
public class ClientCode {
static String clientName = "孙云龙";
// 端口号
public static int portNo = 3333;
public static void main(String[] args) throws IOException {
// 设置连接地址类,连接本地
InetAddress addr = InetAddress.getByName("127.0.0.1");
// 要对应服务器端的3333端口号
Socket socket = new Socket(addr, portNo);
try {
System.out.println("socket = " + socket);
// 设置IO句柄
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
out.println("Hello Server,I am " + clientName); //发生信息到服务器
// socket.getInputStream().available(); //available()方法判断 服务器端是否关闭
String str = in.readLine(); //接受服务器端信息
out.println("byebye"); //发生信息
} finally {
System.out.println("关闭客户端 socket");
socket.close();
}
}
}
服务器端代码:
/**
* 服务器端代码
* @author user
*
*/
public class ServerCode{
// 设置端口号
public static int portNo = 3333;
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(portNo);
System.out.println("The Server is start: " + s);
// 阻塞,直到有客户端连接
Socket socket = s.accept();
try {
System.out.println("Accept the Client: " + socket);
// 设置IO句柄
BufferedReader in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
while (true) {
String str = in.readLine();
if (str.equals("byebye")) {
break;
}
String re="服务器返回信息:"+str;
out.println(re);
}
} finally {
System.out.println("关闭客户端 socket");
socket.close();
s.close();
}
}
}