tcp协议:1.面向连接。2.安全可靠。3.效率低
/**
* 服务端
* @author luoliang
*
*/
public class TcpServer {
public static void main(String[] args) {
try {
//创建ServerSocket对象
ServerSocket server=new ServerSocket(9999);
//服务端等待连接 调用这个方法会阻塞
Socket socket = server.accept();
DataInputStream dis=new DataInputStream(socket.getInputStream());
String readUTF = dis.readUTF();
System.out.println(readUTF);
String msg="您好";
DataOutputStream dos=new DataOutputStream(socket.getOutputStream());
//响应给客户端
dos.writeUTF(msg);
dos.flush();
dos.close();
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* socket:套接字,它的作用就是能在不同的进程直接进行数据传输。就算不同服务器上的进程也可以进行通信
* 我们可以通过在这个类里运行,也可以在浏览器输入http:\
*
*/
public class TcpClient {
public static void main(String[] args) throws UnknownHostException, IOException {
//创建client对象
Socket client=new Socket("localhost",9999);
System.out.println("请输入发送给服务器的数据:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//等待用户输入,会阻塞
String msg = br.readLine();
//创建输出流
DataOutputStream dos=new DataOutputStream(client.getOutputStream());
//发送数据给服务端
dos.writeUTF(msg);
//创建输入流
DataInputStream dis=new DataInputStream(client.getInputStream());
//获取服务端返回的数据
System.out.println(dis.readUTF());
dos.flush();
dos.close();
dis.close();
client.close();
}
}