网络编程总结
TCP:占用资源多,稳定性强。
ServerSocket:
ServerSocket(端口号):实例化需要填写端口号。
public ServerSocket(int port) throws IOException {
this(port, 50, (InetAddress)null);
}
Socket:
Socket(IP地址,端口号):需要填写访问的IP地址和端口号。
Socket.getOutputStream():返回Socket的输出流。
Socket.getInputStream():返回Socket的输入流。
public Socket accept():使用ServerSocket.accept()创建一个端口,如果有客户端连接,返回一个Socket对象与客户端连接
public Socket(String IP地址, int 端口号) throws UnknownHostException, IOException {
this(IP地址 != null ? new InetSocketAddress(IP地址, 端口号) : new InetSocketAddress(InetAddress.getByName((String)null), 端口号), (SocketAddress)null, true);
}
ECHO模型:
TCP多线程实现:
UDP:占用资源少,稳定性差,在没有开启客户端时,接收不到数据。
DatagramSocket(端口号):设置监听的端口号。
服务器:DatagramPacket(data(内容),start(开始的位置),end(结束的位置),address(IP地址),port(接受的端口号)):设置广播的内容,地址和端口号。
客户端:DatagramPacket(data(byte数组),start(接受的数据开始的位置),end(接受的数据结束的位置)):获取接受的数据存入data数组内
TCP示例:https://blog.csdn.net/sabstarb/article/details/104562353
TCP(多线程)、UDP示例:https://blog.csdn.net/sabstarb/article/details/104548338