Socket和ServerSocket
概念
TCP:Transmission Control Protocol,传输控制协议,基于字节流的传输层通信协议。
特点:
1.面向连接
2.安全、可靠
3.传输数据大小限制,一旦连接建立,双方可以按统一的格式传输任意多的数据。
4.效率低
TCP的三次握手
a.客户端向服务端发送一个请求
b.服务端收到请求后,回客户端一个响应
c.客户端向收到服务端的响应后,回服务端一个确认信息
服务端接收消息:
public class TcpServer {
public static void main(String[] args) throws Exception {
//创建服务端套接字,指定端口号
ServerSocket serverSocket = new ServerSocket(11100);
//等待客户端连接 阻塞
Socket socket = serverSocket.accept();
//接收客户端传来的数据
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String s = br.readLine();
//操作数据
System.out.println("客户端说:"+s);
br.close();
serverSocket.close();
}
}
客服端发送消息:
public class TcpScoket {
public static void main(String[] args) throws Exception {
//创建客户端套接字 指定服务器地址和端口号
Socket socket = new Socket("127.0.0.1",11100);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write("好久不见!");
bw.newLine();
bw.flush();
bw.close();
socket.close();
}
}
UDP
概念
User Datagram Protocol的简称,用户数据包协议,提供面向事务的简单不可靠信息传送服务
特点:
a.不安全
b.无连接
c.效率高
d.UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内
DatagramSocket和DatagramPacket
DatagramSocket: 数据报套接字,表示用来发送和接收数据报包的套接字。
DatagramPacket:此类表示数据报包。每个包最大64kb。