关于Python的服务器客户端交互问题
问题描述
如何用加代码可以使TCP客户端的消息发送到TCP服务器上并print出来?
#!/usr/bin/env pythonfrom socket import *HOST=’’PORT=21567ADDR=(HOST,PORT)tcpSerSock=socket(AF_INET,SOCK_STREAM)tcpSerSock.bind(ADDR)tcpSerSock.listen(5)while True: print ’waiting for connection...’ tcpCliSock,addr=tcpSerSock.accept() print ’...connected from:’,addr while True: data=tcpCliSock.recv(1024) if not data:break tcpCliSock.send(data)tcpCliSock.close()tcpSerSock.close()#!/usr/bin/env pythonfrom socket import *HOST=’localhost’PORT=21567ADDR=(HOST,PORT)tcpCliSock=socket(AF_INET,SOCK_STREAM)tcpCliSock.connect(ADDR)while True: data=raw_input(’>’) if not data:break tcpCliSock.send(data) data=tcpCliSock.recv(1024) if not data:break print datatcpCliSock.close()
这是我的客户端和服务器代码,我不知道如何下手去改,现在就反馈主机序列号
问题解答
回答1:# -*- coding: utf-8 -*-from socket import *from time import ctimeHOST = ’localhost’PORT = 12345BUFSIZ = 1024ADDR = (HOST, PORT)tcpSerSock = socket(AF_INET, SOCK_STREAM)tcpSerSock.bind(ADDR)tcpSerSock.listen(2)while True: tcpSerSock.connect_ex(ADDR) print ’waiting for connection...’ tcpCliSock, addr = tcpSerSock.accept() print ’...connected from:’, addr while True: data = tcpCliSock.recv(BUFSIZ) print data,len(data) if not data: break tcpCliSock.send(’[%s] %s’ % (ctime(), data))tcpCliSock.close()tcpSerSock.close()
# -*- coding: utf-8 -*-from socket import *HOST = ’121.40.77.203’PORT = 12345BUFSIZ = 1024ADDR = (HOST, PORT)tcpCliSock = socket(AF_INET, SOCK_STREAM)tcpCliSock.connect(ADDR)while True: data = open(’C:UsersgzxDesktopclient_net_dict.txt’).read() if not data: break tcpCliSock.sendall(data) data = tcpCliSock.recv(1024) if not data: break print len(data)tcpCliSock.close()
相关文章:
1. css - 文字排版问题,内容都是动态抓出来的,字数不一定。如何对齐啊2. git - 在web应用分布式部署的情况下怎么进行配置更新3. css3 - 微信前端页面遇到的transition过渡动画的bug4. 网页爬虫 - 关于Python的编码与解码问题5. 前端 - WebStrom安装了angularjs插件,但是没有语法提示6. 微信开放平台 - ios APP能不能打开微信然后通过微信跳转到指定的URL?7. selenium-selenium-webdriver - python 将当前目录加入到 环境变量8. css - input间的间距和文字上下居中9. javascript - imgzoom插件所引发的bug血案!!!!10. php ZipArchive关于不同目录文件压缩

网公网安备