python网络编程套接字如何实现服务端,客户端

  介绍

这篇文章主要介绍python网络编程套接字如何实现服务端,客户端,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

本文内容:

<李>

套接字介绍

<李> TCP:

<李>

服务端

<李>

客户端

<李>

UDP:

<李>

服务端

<李>

客户端

首发时间:2018-02-08 01:14

修改:

<李>

2018-03-20:重置了布的局,增加了UDP

<人力资源/>

什么是套接字:

<李>

插座又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。

<李>

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个插座。

<李>

插座就像电话线插口,只有电话线插上了,才能通信。

<李>

python中使用套接字来进行网络连接传输


<人力资源/>


TCP:

服务端:

TCP服务端一般需要下面几个操作:

import 插座   服务器=socket.socket() #建立插座   server.bind ((& # 39; localhost # 39;, 1234)) #绑定   server.listen() #监听   print(“开始等待…“)   康涅狄格州,addr=server.accept() #接收连接   print(“连接成功“)   data=https://www.yisu.com/zixun/conn.recv(1024) #接收数据   print (data.decode ())   conn.send(数据)#发送数据   server.close() #关闭连接   打印(“- - - - - - - - - - - - - - - - - - - - - -”)

,

#服务器端   import 套接字   时间=server  socket.socket ()   server.bind ((& # 39; localhost # 39;, 1234)), #绑定ip和端口   server.listen(5), #监听   while 真正的:   打印才能(“开始等待“)   ,,康涅狄格州,addr =, server.accept ()   打印才能(康涅狄格州,addr)   打印才能(“客户端连接“)   while 才能正确的:   ,,,data =, conn.recv (1024)   ,,,印刷(“recv:“数据)   ,,,if  not 数据:,#当data=https://www.yisu.com/zixun/0时为真   打印(“连接断开…”)   打破   conn.send(数据)   server.close ()

,

<强>

如果要在windows中运行,需要捕获异常:

#服务器端   import 套接字   时间=server  socket.socket ()   server.bind ((& # 39; localhost # 39;, 1234)), #绑定ip和端口   server.listen(5), #监听   while 真正的:   打印才能(“开始等待“)   ,,康涅狄格州,addr =, server.accept ()   打印才能(康涅狄格州,addr)   打印才能(“客户端连接“)   while 才能正确的:   ,,,试一试:   ,,,,,data =, conn.recv (1024)   ,,,,,印刷(“recv:“数据)   ,,,,,if  not 数据:,#当data=https://www.yisu.com/zixun/0时为真   打印(“连接断开…”)   打破   conn.send(数据)   除了ConnectionResetError e:   打印(e)   打破   server.close ()

,

客户端:

TCP客户端一般需要下面几个操作:

import 插座   客户=socket.socket() #建立插座   client.connect ((& # 39; localhost # 39;, 1234)) #连接   client.send(“你”好“.encode()) #发送数据   data=https://www.yisu.com/zixun/client.recv(1024) #接收数据   print (data.decode ())   client.close() #关闭连接

,

import 插座   客户=socket.socket ()   client.connect ((& # 39; localhost # 39;, 1234))   while 真正的:   cmd=才能输入(““祝辞,)   if 才能len (cmd)==0:   ,才能继续   client.send才能(cmd.encode ())   cmd_res才能=client.recv (1024)   打印才能(cmd_res.decode ())   client.close ()

,


<人力资源/>


UDP:

服务端:

UDP服务端通常有以下几个操作:

import 插座   import 时间   服务器=socket.socket (socket.AF_INET socket.SOCK_DGRAM)   server.bind ((“localhost", 1234))   start_time=time.time ()   while 真正的:   数据,才能addr=server.recvfrom (1024)   打印(数据(addr)才能   server.sendto才能(“hello" .encode (), addr)   time . sleep才能(1)   if 才能time.time () -start_time> 30:   ,才能打破   server.close ()

python网络编程套接字如何实现服务端,客户端