Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26141636
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Python/Ruby

2009-02-03 08:41:40

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,))
可以实现多线程服务器操作的!



阅读(890) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~