Python Socket编程实现网络编程

开发 后端
Python Socket编程的主要作用是帮助Python编程人员实现网络编程。那么接下来我们将会为大家详细介绍一下这方面的应用方法。

对于有经验的开发人员来说,掌握的编程语言应该是不少的。在这些编程语言中,网络编程的应用时必不可少的。其中Python也是这样的编程语言。我们今天将会在这里为大家详细介绍一下Python Socket编程再网络编程中的应用。#t#

Socket:套接字

套接字好比电话的插口,主机和端口就好比区号和电话号码,主机:是你要连接到哪里,端口:是从那个口子连过去,和大多数语言一样,Python 支持面向连接和无连接。

面向连接即需要先连接然后通讯, 面向连接主要协议就是传输控制协议(tcp),要创建tcp套接字时需要指定套接字类型为 SOCK_STRAM,表达了他作为流套接字的特点。

无连接,顾名思义无需建立连接就可以进行通讯,这时数据到达顺序、可靠性就无法保证了。实现这种连接的协议就是用户数据包协议(udp)。创建UDP时需要指定套接字类型为 SOCK_DGRAM。

创建 Socket:

创建Python Socket编程用到 Socket模块函数,语法为:

  1. Socket(Socket_family,Socket_type,protocol=0) 

Socket_family不是 AF_VNIX 就是 AF_INET,通常使用的是AF_INET(不明白可以去查些资料),Socket_type可以是 SOCK_STREAM 或者 SOCK_DGRAM,protocol一般不填,就默认为0

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

  1. tcpSock = Socket(Socket.AF_INET,Socket.SOCK_STRAM) 

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

  1. udpSockSocket(Socket.AF_INET,Socket.SOCK_DGRAM) 

 

创建好套接字以后,我们需要使用套接字的内建方法,常用的方法:

服务器端

  1. s.bind() 绑定地址(主机,端口)到套接字  
  2. s.listen() 开始监听  
  3. s.accept() 被动接受 tcp客户端连接(阻塞式),等待连接的到来 

客户端

  1. s.connet() 主动初始化tcp服务器连接  
  2. s.connet_ex() connet扩展版本,出错时返回错误代码,不抛出异常  
  3. s.recv() 接受tcp数据  
  4. s.send() 发送数据  
  5. s.close() 关闭套接字 

常用的Python Socket编程方法如上,还有一些方法大家可以查询些资料。

责任编辑:曹凯 来源: 博客园
相关推荐

2013-03-27 13:26:04

Android开发Socket

2015-04-24 09:48:59

TCPsocketsocket编程

2009-09-07 14:29:47

C# Socket编程C# Socket

2012-03-19 10:55:27

JavaSocket

2016-11-04 21:37:16

PythonSocket

2019-02-12 15:04:09

2012-03-19 11:41:30

JavaSocket

2024-04-23 13:36:00

2022-10-24 08:01:32

Sockets网络协议

2013-03-26 12:46:23

Android开发So

2011-06-20 13:43:08

Qt Socket 线程

2015-07-27 09:53:13

PHP编程过程

2013-09-22 11:03:20

SocketSocket编程

2011-06-13 16:51:19

Qt Socket

2011-06-13 12:11:06

javasocket

2011-06-13 11:23:33

javasocket

2010-03-22 10:42:37

Java Socket

2010-03-17 14:22:40

Java Socket

2021-03-03 12:20:42

网络安全DLL编程

2021-03-05 13:46:56

网络安全远程线程
点赞
收藏

51CTO技术栈公众号