计算机网络
定义:
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
网络编程的目的:
- 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换
- java.net 包中 J2SE 的 API 包含有类和接口,它们提供底层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。
- 有人说,20世纪最伟大的发明不是计算机,而是计算机网络。
- 还有人说,如果你买了计算机而没有联网,就等于买了电话机而没有接电话线一样。
实现步骤
- 通过IP地址定位网络主机,端口锁定该主机资源
- 如何传输数据
对于TCP连接:
-
服务器端1)创建套接字create;2)绑定端口号bind;3)监听连接listen;4)接受连接请求accept,并返回新的套接字;5)用新返回的套接字recv/send;6)关闭套接字。
-
客户端1)创建套接字create; 2)发起建立连接请求connect; 3)发送/接收数据send/recv;4)关闭套接字。
TCP总结:
Server端:create – bind – listen-- accept-- recv/send-- close
Client端:create------- conncet------send/recv------close.
对于UDP连接:
-
服务器端:1)创建套接字create;2)绑定端口号bind;3)接收/发送消息recvfrom/sendto;4)关闭套接字。
-
客户端:1)创建套接字create;2)发送/接收消息sendto/recvfrom;3)关闭套接字.
UDP总结:
Server端:create----bind ----recvfrom/sendto----close
Client端:create---- sendto/recvfrom----close.