为了熟悉Python的网络编程,自己写了一个服务端,在浏览器联系时创建一个套接字,注意参数是
SOCK_STREAM
,返回一个HTML页面,代码如下
from socket import *
def HttpResponse(header,html):
f = file(html)
contextlist = f.readlines()
context = ''.join(contextlist)
response = "%s %d\n\n%s\n\n" % (header,len(context),context)
return response
Header = '''\
HTTP/1.1 200 OK
Context-Type: text/html
Server: http-socket 1.0
Context-Length: '''
serverPort = 8888
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('',serverPort))
serverSocket.listen(1)
print 'The server is opening...'
while True:
connSocket, addr = serverSocket.accept()
data = connSocket.recv(1024)
print data
connSocket.send(HttpResponse(Header,'index.html'))
print HttpResponse(Header,'index.html')
connSocket.close()
效果图如下