网络编程--套接字的简单使用
客户端:
package com.bjsxt.net.tcp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class XWordClient {
public static void main(String[] args) throws UnknownHostException, IOException {
//创建套接字
Socket s = new Socket("127.0.0.1", 9998);
//用于读入客户从键盘输入的信息
BufferedReader brr = new BufferedReader(new InputStreamReader(System.in));
//读取服务器端发送的信息
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//向服务器发送信息
PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
String str = null;
//只要用户输入的不是“over”就像服务器端发送信息
while(!((str = brr.readLine()).equals("over"))){
pw.println(str);
System.out.println("Server" + br.readLine());
}
//关闭套接字
s.close();
}
}
服务器端:
package com.bjsxt.net.tcp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class XWordServer {
public static void main(String[] args) throws IOException {
//创建套接字
ServerSocket ss = new ServerSocket(9998);
//接收客户端请求
Socket s = ss.accept();
//用于读取客户端发送的数据
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//用于向客户端发送数据
PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
String str = null;
//只要读入不为空,就输出,并且将收到的数据变为大写发送给客户端
while((str = br.readLine())!=null){
System.out.println(str);
pw.println(str.toUpperCase());
}
System.out.println(s.getInetAddress().getHostAddress()+"客户端撤了。。。");
//关闭套接字
ss.close();
}
}