【计算机网络】WebServer实现并从本机读取多个文件
2016-01-09 16:27
369 查看
这是《计算机网络(自顶向下方法)》第二章练习题的实现
有两个问题还有待解决:
什么是多线程
如何发送HTTP HEADER及其意义
client.py
webserver.py
还有一个问题,即客户端收到服务器的一个段后应何时关闭套接字。
我个人认为这应该是又HTTP协议中决定的,不知道代码中是否需要
有两个问题还有待解决:
什么是多线程
如何发送HTTP HEADER及其意义
client.py
__author__ = 'yang' import socket serverName = 'hostname' serverPort = 12000 clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) clientSocket.connect((serverName, serverPort)) filenames = raw_input('Input filenames, split by comma:\n') #print filenames clientSocket.send(filenames) fileContent = clientSocket.recv(2048) print fileContent
webserver.py
__author__ = 'yang' import socket serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serverPort = 12000 serverSocket.bind(('', serverPort)) serverSocket.listen(1) print 'Ready to serve\n' while 1: print 'start' connectionSocket, addr = serverSocket.accept() message = connectionSocket.recv(2048) print message filename = message.split(',') outputdata = [] for i in range(0,len(filename)): with open(filename[i]) as file: outputdata.append(file.read()) #send one HTTP header line into socket,此处还未完成 #print outputdata,len(outputdata) #send the content of the requested file to the client fileContent = '' for i in range(0,len(outputdata)): fileContent = fileContent + outputdata[i] print fileContent connectionSocket.send(fileContent) connectionSocket.close() #send response message for file not found #connectionSocket.send("file not found") serverSocket.close()
还有一个问题,即客户端收到服务器的一个段后应何时关闭套接字。
我个人认为这应该是又HTTP协议中决定的,不知道代码中是否需要
clientSocket.close()
相关文章推荐
- 深入研究socket编程(1)-----socket之TCP回射服务器/客户端程序
- Java网络编程:利用apache的HttpClient包进行http操作
- 网络协议
- 解决Asp.net Mvc中使用异步的时候HttpContext.Current为null的方法
- http免费升级https 攻略(超简单)
- 从僵尸网络追踪到入侵检测 第2章 检测环境
- 几种经典的网络服务器模型的分析与比较
- XHttpPost 请求与连接超时回调
- 【计算机网络】TCP简单实践
- C++ http
- 【计算机网络】UDP练习
- selinux未禁用导致httpd无法使用非80等默认端口解决
- BZOJ1146 [CTSC2008]网络管理Network
- 【网络流】:一些基本知识
- VB6基于Windows API的Modbus RTU/ASCII/TCP的主站实现代码
- HTTP协议之响应头Date与Age
- IO的阻塞与非阻塞、同步与异步以及Java网络IO交互方式
- ubuntu上构建简单的基于http的文件共享服务
- 【重磅】移动网络性能揭秘(下)--网络协议及性能提升实践
- HttpWebRequest模拟浏览器的GET、POST请求