博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python网络编程实现TCP和UDP连接
阅读量:7027 次
发布时间:2019-06-28

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

实现TCP

#!/usr/bin/env python3# -*- coding: utf-8 -*-import socket# 创建一个socket:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立连接:s.connect(('www.sina.com.cn', 80))# 发送数据:s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')# 接收数据:buffer = []while True:    # 每次最多接收1k字节:    d = s.recv(1024)    if d:        buffer.append(d)    else:        breakdata = b''.join(buffer)# 关闭连接:s.close()header, html = data.split(b'\r\n\r\n', 1)print(header.decode('utf-8'))# 把接收的数据写入文件:with open('sina.html', 'wb') as f:    f.write(html)

实现UDP连接

服务端:#!/usr/bin/env python3# -*- coding: utf-8 -*-import sockets = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定端口:s.bind(('127.0.0.1', 9999))print('Bind UDP on 9999...')while True:    # 接收数据:    data, addr = s.recvfrom(1024)    print('Received from %s:%s.' % addr)    reply = 'Hello, %s!' % data.decode('utf-8')    s.sendto(reply.encode('utf-8'), addr)客户端:#!/usr/bin/env python3# -*- coding: utf-8 -*-import sockets = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)for data in [b'Michael', b'Tracy', b'Sarah']:    # 发送数据:    s.sendto(data, ('127.0.0.1', 9999))    # 接收数据:    print(s.recv(1024).decode('utf-8'))s.close()

转载于:https://blog.51cto.com/gdutcxh/2113734

你可能感兴趣的文章
写时拷贝(方案一)
查看>>
教程Micropython自制小型家庭气象站(萝卜教育)
查看>>
Redis源码分析系列26:对redis的一点小感触
查看>>
phpstudy 性能调优
查看>>
JDK源码解读(1)ArrayList和LinkedList
查看>>
第22讲: Scala中的闭包实战详解
查看>>
linux信号解释(1)
查看>>
串口DTU设备常见问题处理
查看>>
28.umask值
查看>>
文件操作工具类
查看>>
nginx教程从入门到精通(ttlsa出品)
查看>>
squid日志之access.log格式+内容
查看>>
我的友情链接
查看>>
LVS NAT 模式突然很卡ip_conntrack
查看>>
重拾CCNA,学习笔记持续更新ing......(7)
查看>>
FreeBSD下的开机自启动
查看>>
我的友情链接
查看>>
Linux命令行快捷键
查看>>
python 的实用技巧
查看>>
创建RHCS集群环境
查看>>