//服务器
package org.demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
//使用ServerSocket定义一个端口号为5555的服务器
ServerSocket serverSocket=new ServerSocket(5555);
System.out.println("----------服务器已启动------------");
//挂起服务器 等待客户端请求连接
Socket socket=serverSocket.accept();
System.out.println("----------客户端已连接------------");
//服务器读取客户端发送过来的内容
InputStream ips=socket.getInputStream();
byte b[]=new byte[1024];
ips.read(b);
String str=new String(b,"utf-8");
System.out.println("接收到的信息是"+str);
//服务器向客户端发送消息
OutputStream ops=socket.getOutputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"utf-8"));
String line=br.readLine().trim();
ops.write(line.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//客户端
package org.demo;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class SocketTest {
public static void main(String[] args) {
try {
//表明客户端所在的本机地址 以及 客户端所要连接的是哪一个端口号的服务器
Socket socket=new Socket("127.0.0.1",5555);
//客户端向服务器发送消息
OutputStream ops=socket.getOutputStream();
Scanner scan=new Scanner(System.in);
String str=scan.nextLine().trim();
ops.write(str.getBytes());
//客户端接收服务器的消息
InputStream ips=socket.getInputStream();
byte b[]=new byte[1024];
ips.read(b);/
System.out.println(new String(b,"utf-8"));
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}