關于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. mysql 查詢身份證號字段值有效的數據2. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題3. mysql - 把一個表中的數據count更新到另一個表里?4. javascript - 彈出一個子窗口,操作之后關閉,主窗口會得到相應的響應,例如網站的某些登錄界面,django后臺的管理等,這是怎么實現的呢?5. 視頻文件不能播放,怎么辦?6. 請教使用PDO連接MSSQL數據庫插入是亂碼問題?7. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處8. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?9. android - 分享到微信,如何快速轉換成字節數組10. visual-studio - Python OpenCV: 奇怪的自動補全問題
