总是说UDP不可靠,试试用UDP写了个文件传输工具,顺便熟悉一下Python的文件操作。测试一下确实不靠谱,文件传输不稳定。代码如下
服务端:
# encoding: utf-8
from socket import *
import os
serverPort = 6666
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPort))
print 'The server is opening...'
while True:
fileName,add1 = serverSocket.recvfrom(2048)
text,add2 = serverSocket.recvfrom(2048)
newfile = open(fileName, 'w')
newfile.writelines(text)
newfile.flush()
newfile.close()
massage = 'File is received...'
serverSocket.sendto(massage, add1)
print massage
客户端:
#!/usr/bin/env python
# encoding: utf-8
import os
from socket import *
serverName = '192.168.3.101'
serverPort = 6666
clientSocket = socket(AF_INET, SOCK_DGRAM)
while True:
path = raw_input('please input file path:')
filename = os.path.split(path)
print path
fp = open(path,'r')
text = fp.read()
print text
clientSocket.sendto(filename[1], (serverName, serverPort))
clientSocket.sendto(text, (serverName, serverPort))
massage = clientSocket.recvfrom(2048)
print massage