public class SocketClientDemo01 {
public static void main(String[] args) throws Exception {
// 1.建立Socket管道连接
Socket socket = new Socket("127.0.0.1",6622);
// 3.得到一个打印流与Socket的输出管道接通。
PrintStream ps = new PrintStream(socket.getOutputStream());
// 2.给服务端反复的发送消息。
// 可以一直的接收键盘的输入
Scanner scan = new Scanner(System.in);
while(true){
System.out.print("发送消息:");
String line = scan.next();
ps.println(line);
}
}
服务端接收多个客户端的连接。
public class SocketServerDemo02 {
public static void main(String[] args) throws Exception {
// 1.注册端口
ServerSocket ss = new ServerSocket(4444);
while(true){
// 2.接收客户端的Socket连接
Socket socket = ss.accept() ;
new MyReader(socket).start();
}
}
}
class MyReader extends Thread{
private Socket socket ;
public MyReader(Socket socket){
this.socket = socket;
}
@Override
public void run() {
try{
// 3.服务端要从Socket管道中得到一个字节输入流。
InputStream is = socket.getInputStream();
// 4.把字节输入流转换成字符输入流,再转换成高级缓冲字符输入流。
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// 5.读取数据
String line = null ;
while((line = br.readLine())!=null){
System.out.println("服务端接收:"+line);
}
}catch (Exception e){
System.out.println("有人离线!");
}
}
}