博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之路——网络编程
阅读量:6593 次
发布时间:2019-06-24

本文共 1945 字,大约阅读时间需要 6 分钟。

socket

TCP

服务端

1 import socket 2 sk = socket.socket() 3 sk.bind(('127.0.0.1',8080)) # 绑定ip和端口号 4 sk.listen() # Enable a server to accept connections. 5 conn,addr = sk.accept() # Wait for an incoming connection.  Return a new socket 6                         # representing the connection, and the address of the client. 7 while 1: 8     content = conn.recv(1024)   # 接收 9     print(content.decode('utf-8'))10     conn.send(content+b'--liuyankui')   # 发送11 conn.close()12 sk.close()

客户端

1 import socket2 sk = socket.socket()3 sk.connect(('127.0.0.1',8080))  #连接4 while 1:5     content = input('>>>').encode('utf-8')6     sk.send(content)7     ret = sk.recv(1024)8     print(ret.decode('utf-8'))9 sk.close()

 

UDP

服务端

1 import socket2 sk = socket.socket(type=socket.SOCK_DGRAM)3 sk.bind(('127.0.0.1',8080))4 msg ,addr = sk.recvfrom(1024)5 print(msg.decode('utf-8'))6 sk.sendto(b'bye',addr)7 sk.close()

用户端

1 import socket2 sk = socket.socket(type=socket.SOCK_DGRAM)3 ip_port = ('127.0.0.1',8080)4 sk.sendto(b'hello',ip_port)5 msg,addr = sk.recvfrom(1024)6 print(msg.decode('utf-8'))7 sk.close()

 socketserver

server端

1 import socketserver 2  3 class MyServer(socketserver.BaseRequestHandler): 4     def handle(self): 5         while True: 6             msg = self.request.recv(1024).decode('utf-8') 7             if msg=='q':return 8             print(msg) 9             info = input('(sent to %s)>>>' %(msg[:2]))10             self.request.send(info.encode('utf-8'))11 if __name__ == '__main__':12     server = socketserver.ThreadingTCPServer(('127.0.0.1',8080),MyServer)13     server.serve_forever()

client端

1 import socket 2 sk = socket.socket() 3 sk.connect(('127.0.0.1',8080)) 4 while 1: 5     msg = input('>>>') 6     if msg == 'q': 7         sk.send('q'.encode('utf-8')) 8         break 9     sk.send(('美团外卖:'+msg).encode('utf-8'))10     print(sk.recv(1024).decode('utf-8'))11 sk.close()

 

转载于:https://www.cnblogs.com/liuyankui163/p/8351682.html

你可能感兴趣的文章
网络编程-第一节
查看>>
基于JAVA的银行卡实名认证接口调用代码实例
查看>>
Centos下安装并设置nginx开机自启动
查看>>
bzoj3195: [Jxoi2012]奇怪的道路
查看>>
C# 使用 CancellationTokenSource 终止线程
查看>>
idea创建springboot工程
查看>>
Web中间件漏洞
查看>>
简单轮播图
查看>>
微信公众号页面无法唤起输入框
查看>>
day 32并行 并发
查看>>
Mac上安装stf
查看>>
介绍几个移动web app开发框架
查看>>
十六进制转十进制(蓝桥杯)
查看>>
搭建Easyui环境在Myeclipse或Eclipse中
查看>>
bin log、redo log、undo log和MVVC
查看>>
ubuntu 重启网络方法--通过杀死进程重启网络
查看>>
深度优先搜索(DFS)(Java)
查看>>
Java --Serializable序列化
查看>>
He angrily answer MBT Tunisha
查看>>
洛谷P2774 方格取数问题(最小割)
查看>>