开发工具与关键技术:My Eclipse 10,MySQL;Java
撰写时间:2019-09-16
网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度。不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接受另一个设备的反馈。在网络编程中,,发起连接程序,也就是发送第一次请求的程序,被称作客户端,等待其他程序连接的程序被称作服务器。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接。则需要一直启动。
例如以打电话为例,首先拨号的人类似于客户端,接电话的人必须保持电话畅通类似于服务器。连接一但建立以后,就客户端和服务器就可以进行数据传递了,而且两者的身份是等价的。在一些程序中,程序既有客户端功能也有服务器端功能。
网络模型分为:OSI参考模型、TCP/IP参考模型
OSI参考模型:分为了应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP参考模型:分为应用成、传输层、网际层、主机至网络层。
在OSI参考模型中的应用层、表示层、会话层相当于TCP/IP参考模型中的应用层
OSI参考模型数据链路层、物理层相当于TCP/IP参考模型中的主机至网络层
网络的通讯要素需要三要素:IP地址、端口号、传输协议
IP 地址:InetAddress
网络中设备的标识 不易记忆,可用主机名
本地回环地址:127.0.0.1 主机名:localhost
端口号 用于标识进程的逻辑地址,不同进程的标识 有效端口:0~65535,其中 0~1024 系统使用或保留端口。 备注:不是所谓的物理端口!
传输协议 通讯的规则 常见协议:TCP,UDP
TCP,UDP的区别:
二者都是有用的和常用的,如果纯粹从概念上区分二者就比较费解了,我们直接从功能 上进行区分,简单明了:
这两种传输协议也就是合于适配不同的业务和不同的硬件终端。 在使用中,类似于图像、声音等对可靠性要求没有那么高的业务可以用 UDP,他们不需要准确存储对准确性无要求但要求速度快。类似于文本、程序、文件等要求可靠的数据最好就用TCP,但会牺牲一些速度。 对系统资源的要求:CP 较多,UDP 少。程序结构:UDP 程序结构较简单,TCP 复杂。流模式与数据报模式:TCP保证数据正确性,UDP可能丢包;TCP保证数据顺序,UDP不保证