python编写FTP服务功能
时间:2009-02-03 来源:hkebao
1.FTP服务器实现代码如下:
import socket
serversocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serversocket.bind(('localhost',8000))
serversocket.listen(1) #监听一个线程
clientsocket,clientaddress=serversocket.accept()
while 1:
data=clientsocket.recv(1024) #表示服务器接受的最大的容量为1024字节,不能太大了
if not data: #如果用户不输入数据也会执行这个语句的
break
clientsocket.send(data) #表示服务器发送回去到客户端的数据信息的
clientsocket.close()
2.FTP客户端实现代码如下:
import socket
clientsocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientsocket.connect(('localhost',8000))
while 1:
data=raw_input('>')
clientsocket.send(data)
if not data:
break
newdata=clientsocket.recv(1024)
print newdata
clientsocket.close()
2.如果要支持多线程的话可以走这条流程图的:
import socket,thread
def handler(socket):
pass
while 1:
clisock,addr=socket.accept()
syslog.syslog('Incoming connection')
thread.start_new_thread(handler, (clisock,))
可以实现多线程服务器操作的!
import socket
serversocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serversocket.bind(('localhost',8000))
serversocket.listen(1) #监听一个线程
clientsocket,clientaddress=serversocket.accept()
while 1:
data=clientsocket.recv(1024) #表示服务器接受的最大的容量为1024字节,不能太大了
if not data: #如果用户不输入数据也会执行这个语句的
break
clientsocket.send(data) #表示服务器发送回去到客户端的数据信息的
clientsocket.close()
2.FTP客户端实现代码如下:
import socket
clientsocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientsocket.connect(('localhost',8000))
while 1:
data=raw_input('>')
clientsocket.send(data)
if not data:
break
newdata=clientsocket.recv(1024)
print newdata
clientsocket.close()
2.如果要支持多线程的话可以走这条流程图的:
import socket,thread
def handler(socket):
pass
while 1:
clisock,addr=socket.accept()
syslog.syslog('Incoming connection')
thread.start_new_thread(handler, (clisock,))
可以实现多线程服务器操作的!
相关阅读 更多 +