一、网络基础
网络通信协议:对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。
网络通信接口:硬件装置:实现节点之间的信息传输。
软件装置:规定双方进行通信的协议。
软件开发成员应掌握右边四层模型。
二、TCP/IP协议
IP协议:最大贡献——提供了独一无二的IP地址。
-|IPV4
子网掩码
网关
-|IPV6
TCP:一种面向连接的协议。可靠的、端到端的字节流通信的协议。字节流。
即一定可以将数据传输到位。数据包按顺序到达,不会乱序。如电话。
效率较UDP低
UDP:一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。
只负责将数据发出,不管对方是否收到。如电报。
TCP可靠,速度慢。
UDP不可靠,速度快,效率高。
三、SOCKET
1、用来实现client-server连接
2、java.net包中定义的两个类socket和serversocket分别用来实现双向连接的client和server端。
3、建立连接时所需的寻址信息为远程计算机的IP地址和端口号(port)(开发时端口号用1024以后的)
-|TCP端口与UDP端口不同
每一个各有65536个端口
import java.io.DataInputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String args[]) throws IOException{ ServerSocket ss = new ServerSocket(6666); while(true){ Socket s = ss.accept(); DataInputStream dis = new DataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); dis.close(); s.close(); } } } import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class TCPClient { public static void main(String args[]) throws UnknownHostException, IOException{ Socket s = new Socket("127.0.0.1",6666); OutputStream os = s.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("hello gay!"); dos.flush(); dos.close(); s.close(); } }