python网络编程之<套接字1>
来源:互联网 发布:win10 怎么修改mac 编辑:程序博客网 时间:2024/05/16 14:46
一.关于套接字的介绍
1.套接字的大概介绍
<1>网络化的应用程序在开始任何通讯之前都必须要创建套接字,没有它就完全没办法通讯。
<2>一开始,套接字被设计用在同一台主机上多个应用程序之间的通讯,这也叫进程间通讯,或IPC。
<3>套接字有两种,分别是基于文件型的和基于网络型的。
<4>AF_UNIX表示”地址家族:UNIX” –>基于文件的。
AF_INET表示”地址家族:Internet”–>基于网络的。
<5>python只支持AF_INET、AF_UNIX、AF_NETLINK家族。
2.套接字地址:主机和端口
套接字是通讯的最底层结构。一个Internet地址由网络通讯所必需的主机和端口组成。
3.面向连接与无连接
无论使用哪一种地址家族,套接字的类型只有两种:面向连接的套接字和无连接的套接字
<1>面向连接的套接字
i.在通讯前一定要建立一条连接,面向连接的通讯方式提供了顺序的,可靠的,不会重复的数据传输。
ii.实现这种连接的主要协议是TCP(传输控制协议),要创建TCP套接字就得在创建的时候指定套接字的类型为SOCK_STREAM。
<2>无连接的套接字
i.无需连接就可以进行通讯,数据到达的顺序,可靠性及数据不重复性就无法保证了。
ii.实现这种连接的主要协议是UDP(用户数据报协议),要创建UDP套接字就得在创建的时候指定套接字类型为SOCK_DGRAM。
二.python中的网络编程
主要使用socket模块,模块中的socket()函数被用来创建套接字。套接字会提供一系列函数来支持基于套接字的网络通讯。
1.socket()模块函数
使用socket.socket()函数来创建套接字,语法:
sockete(socket_family,socket_type,protocol=0)
讲解:
socket_family可以是AF_UNIX或AF_INET;socket_type可以是SOCK_STREAM或SOCK_DGRAM;protocol一般不填,默认值是0.
<1>创建一个TCP/IP的套接字
tcpSock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
<2>创建一个UDP/IP的套接字
udpSock=sock.socket(socket.AF_INET,socket.SOCK_DGRAM)
2.套接字对象方法
图片中介绍了套接字s的主要方法:
- python网络编程之<套接字1>
- Python 网络套接字编程
- 网络编程之套接字
- 网络编程之套接字
- Python 网络编程(套接字编程)
- linux网络编程之套接字编程
- python 网络编程 TCP套接字实例
- 【python网络编程】TCP套接字
- python 网络编程学习 套接字socket
- Java套接字实现网络编程之基础篇1
- Java套接字实现网络编程之基础篇(1)
- 网络编程之-原始套接字
- 网络编程之-原始套接字
- java基础之网络套接字编程
- LINUX网络编程之套接字
- Linux 网络编程之原始套接字
- Linux 网络编程之原始套接字
- Linux 网络编程之原始套接字
- 【LeetCode-面试算法经典-Java实现】【168-Excel Sheet Column Title(Excell列标题)】
- leetcode 10 Regular Expression Matching
- MSDN How to
- 设计模式--备忘录模式
- Android Studio 新建Activity显示ActionBar
- python网络编程之<套接字1>
- Android开源项目分类
- 黑马程序员-oc-多态
- HDU 5364 Distribution money
- error-2
- 训练小米叫,让狗狗叫还真的不容易!
- 训练小米握手,狗狗会握手才够友好!
- java常用设计模式
- zookeeper