python中的网络编程
来源:互联网 发布:离线地图 知乎 编辑:程序博客网 时间:2024/06/06 04:05
Python的网络编程基于socket(套接字)
基本概念:socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)
套接字:
面向连接:在通讯之前一定要建立一条连接,就像朋友打电话那样。这种方式被称为虚电路或流套接字。面向连接的通讯方式提供了顺序的、可靠的、不会重复的数据传输,而且不会被加上数据边界,就意味着每一个要发送的信息,可能会被拆分成多份,每一分都会不多不少的正确到达目的地,然后被重新按顺序组装起来,传给正在等待的应用程序。
实现面向连接套接字的主要协议是tcp【传输控制协议】,要创建tcp套接就得的在创建的时候指定套接字类型为SOCK_STREAM.由于这种套接字使用ip来查找网络中的主机,一般会有两个协议(TCP/IP)名的组合来描述。
无连接:与流套接字(虚电路)相反的就是数据报型的无连接套接字。这意味着无需建立连接即可进行通讯。但数据的到达顺序、可靠性以及不重复性就无法保证了。数据报会保留数据边界,即数据是整个发送的。例如快递发送。
无连接的套接字使用的协议主要是udp(用户数据报协议),要创建无连接套接字就要指定套接字类型为sock_DGRAM(DGRAM---datagram--用户数据报)。同样使用ip来进行主机查找,组合名叫udp/ip.
Socket()模块函数:
Socket.socket():语法--socket(socket_family,socjet_type,protocol=0)
Socket_family:AF_UNIX或AF_INET
Socket_type:scoket_stream/socket_dgram[流套接字、无连接套接字]
Protocol一般不填,默认为0
创建一个tcp套接字:tcpsock= socket.socket(socket.AF_INET,socket.sock_stream)
创建一个udp套接字:udpsock= socket.socket(socket.AF_INET,socket.sock_dgram)
- python中的网络编程
- python中的网络编程
- Python网络编程07----Django中的URLconf
- 浅析Python中的struct模块(python网络编程)
- python核心编程第二版中的网络爬爬虫修改
- Python中的socket网络编程(TCP/IP,UDP)讲解
- Python网络编程例子
- Python的网络编程
- python网络编程
- Python网络编程
- Python的网络编程
- python_网络编程
- Python PycURL 网络编程
- Python网络编程基础
- python网络编程
- python 网络编程
- Python网络编程基础
- python网络编程解疑
- python对json的操作
- Tensorflow图片数据读取
- JVM初窥:Java对象的内存结构
- 3.Javascript语法语句
- VIM和Python编码转换原理图
- python中的网络编程
- 软件工程学习(2)
- intellijidea设置"向前"和"向后"快捷键
- MySQL基础教程2-创建表和列操作
- MyEclipse 清理项目缓存的几大方法
- 实现用户登录时若没有输入用户名,给出用户名不能为空的提示,若没有输入密码,给出密码不能为空的提示
- 快捷键查看Emacs源码
- BZOJ 3158: 千钧一发 网络流
- 前台开发总结07——20170525