我正在使用python服务器。我已经创建了服务器和客户端。 服务器:
import socket, threading
class ClientThread(threading.Thread):
def __init__(self,ip,port):
threading.Thread.__init__(self)
self.ip = ip
self.port = port
print "[+] New thread started for "+ip+":"+str(port)
def run(self):
print "Connection from : "+ip+":"+str(port)
stop = False
while stop == False:
try:
data = clientsock.recv(2048)
print "["+ip+"] : "+data
clientsock.send("You sent me: "+data)
except:
stop = True
print "[-] Close thread for "+ip
host = "x.x.x.x"
port = 9999
tcpsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
tcpsock.bind((host,port))
threads = []
while True:
tcpsock.listen(4)
print "\nListening for incoming connections..."
(clientsock, (ip, port)) = tcpsock.accept()
newthread = ClientThread(ip, port)
newthread.start()
threads.append(newthread)
for t in threads:
t.join()
客户端:
import socket
import sys
HOST, PORT = "x.x.x.x", 9999
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
print " Connect to server !!"
msg='o'
while msg != "close":
msg= raw_input("Ask user for something >>")
sock.sendall(msg)
try:
msg1 = sock.recv(2048)
except:
print"server closed"
msg1='nothing !!'
msg='close'
print'server reply >' +msg1
print""
print"just press enter"
raw_input()
现在,我不仅要通过字符串的变量来分享(在客户端和服务器之间),还要分享一些文件。 例如,我从客户端向服务器发送一个.jpg文件。 关于我该怎么做的任何想法或建议?
答案 0 :(得分:0)
非常感谢Ajay,你找到了方法! 当我搜索它时,我没有看到你链接的帖子! 我写下你所说的帖子: Sending Txt file to server from client using python sockets