Tcp/IP协议是目前世界上使用最为广泛的协议,是以Tcp/IP为基础多个层次上的协议的集合。也称Tcp/IP协议族或Tcp/IP协议栈。
TCP: Transmission Control Protocol
IP::Internet Protocol
Tcp/IP的五层模型:物理层(网卡),数据链路层(交换机),网络层(l路由器),传输层(TCP),应用层(HTTP,FTP,SFTP,Telnet)。
IP和端口号做成了所谓的socket,socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的编程基础
常用的协议对应的端口号:HTTP:80 FTP:21 Telnet :23
Java中的网络支持:
InetAddress 用于表示网络上的硬件资源
URL:统一资源定位符
Sockets:使用TCP协议实现网络通信的相关socket类
Datagram:使用UDP协议,将数据保存在在数据报中,通过网络进行通信
服务端与多客户端进行通讯的思路
在服务器端创建一个线程类,当服务器建立一个socket连接后启动一个线程完成响应,如此无限循环。
应该注意的问题
未设置线程优先级可能会导致运行速度较慢的问题,可降低线程的优先级建议设置为4。
没必要关闭输入输出流,关闭socket时会一并关闭。
socket通讯都是基于流的,可以用objectOutputSream来传输对象
基于UDP的socket编程
DatagramSocket、DatagramPacket