Python Socket学习记录
来源:互联网 发布:嫁コレ数据提取资料 编辑:程序博客网 时间:2024/06/04 22:47
原文:www.cnblogs.com/GarfieldTom/archive/2012a/12/16/2820143.html
原文:https://www.2cto.com/kf/201408/328150.html
Socket TCP方式通讯
Client:
# !/usr/bin/env python# -*- coding: utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')from socket import *class TcpClient: # 测试,连接本机 HOST = '25.30.10.49' # 设置侦听端口 PORT = 1122 BUFSIZ = 1024 ADDR = (HOST, PORT) def __init__(self): self.client = socket(AF_INET, SOCK_STREAM) self.client.connect(self.ADDR) while True: data = raw_input('请输入内容:'.encode('gbk')) if not data: break if data.upper() == "QUIT": break # python3传递的是bytes,所以要编码 self.client.send(data) # print'发送信息到%s:%s'.encode('gbk') % (self.HOST, data) # data = self.client.recv(self.BUFSIZ) # if not data: # breakif __name__ == '__main__': client = TcpClient()
Server:
# !/usr/bin/env python# -*- coding: utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')from socket import *from time import ctimefrom time import localtimeimport time# ip地址HOST = '25.30.10.49'# 侦听端口PORT = 1122BUFSIZE = 1024ADDR = (HOST, PORT)tcpSrvSock = socket(AF_INET, SOCK_STREAM)# 从指定的端口,从任何发送者,接收UDP数据tcpSrvSock.bind(ADDR)# 最多连接请求数tcpSrvSock.listen(5)# 设置退出条件STOP_CHAT = False# 写文件output = open('data1.txt', 'w+')while not STOP_CHAT: print('等待接入,侦听端口:%d' % (PORT)) # 接收一个数据 tcpCliSock, addr = tcpSrvSock.accept() print'接受连接,客户端地址:'.decode('utf-8'), addr output.writelines( str(addr) ) output.writelines(""" sxxx """) while True: try: data = tcpCliSock.recv(BUFSIZE) output.writelines( str(data) ) except error, e: print e tcpCliSock.close() break if not data: break ISOTIMEFORMAT = '%Y-%m-%d %X' stime = time.strftime(ISOTIMEFORMAT, localtime()) # s = '%s发送给我的信息是:%s' % (addr[0], data) # tcpCliSock.send(s) print [ctime()], ':', data.decode('gb2312') STOP_CHAT = (data.decode('gbk').upper() == "QUIT") if STOP_CHAT: breakoutput.close()tcpCliSock.close()tcpSrvSock.close()
阅读全文
0 0
- Python Socket学习记录
- Python学习记录-socket编程
- Python 第八天学习记录——socket高级用法
- java-Socket学习记录
- Socket编程学习记录
- Python socket编程学习
- Python Socket学习
- Python Socket学习
- Python的Socket学习
- python学习笔记--socket
- python学习之 socket
- 学习Socket的一些记录
- python第七天学习记录——面向对象高级以及socket编程
- python学习记录
- Python 学习记录1
- python学习记录
- Python学习记录2
- Python学习记录
- lua -- 使用remove删除table数据
- java 判断登录?未登录跳去登录页,过滤器使用
- 广东省副省长袁宝成一行领导莅临机智云考察调研
- BZOJ2725 故乡的梦 [神题][Dinic][Dijsktra][BFS][Heap][Tarjan]
- sublime3
- Python Socket学习记录
- xilinx accumulator j加减法符号代表
- PHP7 MongDB 安装与使用
- iTunes恢复备份时“恢复备份”按钮为灰色
- 深入浅出WPF9
- windows、解决管理员权限
- mico 物联网开发平台学习资料
- jQuery显示与隐藏效果
- 语义角色标注