您的位置:首页 > 编程语言 > Python开发

python socket编程基础知识

2017-02-27 01:13 597 查看

网络编程基础总结

IP地址分类使用:

A类:二进制0开头(1-127)

B类:二进制10开头(128-191)

C类:二进制110开头(192-223)

D类:二进制1110开头(224-239)

E类:二进制11110开头(240-255)

特殊地址:

一、数据包不会出现在Internet上:

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

二、环回地址:

127.0.0.1/localhost

端口

端口是协议端口号的简称,其端口号范围为0-65535

熟知端口号:0-1023;常用的服务器使用

登记端口号(到机构登记其使用)1024-49151

客户端使用的短暂端口号(49152-65535)

注意:编程时指定地址时,最少应指定IP地址和端口号,其格式为:IP地址:80

TCP/UDP协议

UDP协议(传输控制协议)

无连接,减少网络开销和时延

尽最大努力交付,上层应对数据作验证处理

无拥塞控制,用在保证速率的数据传送中(IP电话、网络视频)

面向连接的通讯协议(通信前应先建立连接,实质为虚连接)

应用举例:TFTP、DNS、SNMP、VoIP、QQ

TCP协议(用户数据报协议)

面向连接的通讯协议(通信前应先建立连接,实质为虚连接)

提供可靠的交付服务

实现了全双工通信

面向字节流(传输的任何数据被视为二进制代码流)

一个连接只能有两个传输端点

应用举例:HTTP、FTP、TELNET、POP、SMTP

TCP/UDP协议不同点:

TCP应先建立连接,再通信,最后应释放连接;UDP不用管理连接。

TCP保证数据可靠交付,用起来更省心;UDP不保证可靠交付,用户应自行处理可靠性。

TCP连接开销大;UDP则开销小。

TCP适用实时性低,但数据可靠性高的场合;UDP适用实时性高,但数据可靠性低的场合。

TCP/UDP协议相同点:

位于TCP/IP协议的第四层。

为应用层提供服务。

都要通过网际层来具体实现数据传输

用socket实现TCP客户端

基本步骤:

创建套接字,连接服务器

收发数据

关闭套接字

TCP通信模型:



用socket实现UDP客户端

基本步骤:

创建套接字

收发数据

关闭套接字

UDP通信模型:



用socket实现服务器端

C/S模式简介:

C/S模式就是client/Server模式,中文为客户/服务器模式

client即客户端,是指主动向服务器发出服务请求的一方。

Server即服务器,是指响应客户请求并提供客户所需要的网络服务的一方。

服务器一般在系统启动时自动调用运行,并等待客户机的请求。

与其相对的是B/S模式,即浏览器/服务器模式。

客户端使用统一的浏览器,而不用专门的部署。

服务器端与浏览器间使用应用层的HTTP协议进行通信。

套接字网络编程基础

用socket建立TCP服务器端:

创建套接字并绑定地址

开始监听连接

接收连接并收发数据

关闭套接字

TCP通信模型:



用socket建立UDP服务器端:

1. 创建套接字并绑定地址

2. 开始监听连接

3. 收发数据

4. 关闭套接字

UDP通信模型:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket编程