首页 > 编程语言 > 详细

python网络编程基础

时间:2015-05-02 20:36:16      阅读:269      评论:0      收藏:0      [点我收藏+]

  Socket(套接字)始于Unix,即人们所说的BSD Unix。socket家族有两种:基于文件系统的和基于网络的。第一种是基于文件系统的,地址家族表示为:AF_UNIX(或AF_LOCAL);第二种是网络Socket,是基于网络的,地址家族表示为AF_INET(AF_INET6表示ipv6)。在Python 2.5 中加入了一种 Linux 套接字的支持:AF_NETLINK(无连接[见下])套接字家族让用户代码与内核代码之间的 IPC 可以使用标准 BSD 套接字接口。Python 只支持 AF_UNIX,AF_NETLINK,和 AF_INET 家族。这里将介绍使用最广泛的一个:AF_INET。

  根据套接字类型,可以分为面向连接的和无连接的。

  面向连接的,在通讯之前需建立一条连接,这种通讯方式提供了顺序的,可靠的,不会重复的数据传输,而且也不会被加上数据边界。实现这种连接的主要协议就是传输控制协议(即 TCP),其对应的套接字类型为 SOCK_STREAM。套接字使用 Internet 协议(IP)来查找网络中的主机,即TCP/IP协议来支持面向连接套接字。

  无连接的,无需建立连接就可以进行通讯。实现这种连接的主要协议就是用户数据报协议(即 UDP) ,指定套接字类型为 SOCK_DGRAM。套接字使用 Internet 协议来查找网络中的主机,即UDP/IP协议来支持无连接套接字。

 

  1. socket()模块函数

  创建socket()套接字的语法如下:

  socket(socket_family, socket_type, protocol=0)

  socket_family一般为AF_UNIX或者AF_INET,socket_type可以是SOCK_STREAM或者SOCK_DGRAM,protocol一般不填,默认为0。

  由于socket模块中有太多的属性,这里使用"from socket import *"以减少代码长度。

  创建一个TCP/IP的套接字:

  tcpsocket = socket(AF_INET, SOCK_STREAM)

  同样的,创建一个UDP/IP的套接字:

  udpsocket = socket(AF_INET, SOCK_STREAM)

  

  2. 套接字对象(内建)方法

  python中常用的套接字对象函数如下:

技术分享

 

  3. 基于TCP的C/S模型

 

python网络编程基础

原文:http://www.cnblogs.com/lingerhk/p/4471826.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!