码迷,mamicode.com
首页 > 编程语言 > 详细

python网络编程基础

时间:2015-05-02 20:37:00      阅读:167      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!