用python写了个简单的tcp服务器,访问不到

LinDRon 2017-06-24 04:44:05
用python写了个简单的tcp服务器,通过浏览器为什么访问不到?
通过自己写的客户端程序可以访问,但在浏览器通过Ip访问就访问不到



from multiprocessing import Process

import socket


def handle_client(client_socket):
"""客户请求处理"""
# 获取客户端请求数据
request_data = client_socket.recv(1024)
print('request data:', request_data)

# 构造响应数据
response_start_line = 'HTTP/1.1 200 OK\r\n'
response_headers = 'Sever: My server\r\n'
response_body = 'hello word!'
response_data = response_start_line + response_headers + '\r\n' +response_body
print('response data:', response_data)

# 发送响应数据
client_socket.send(bytes(response_data,'utf-8'))

client_socket.close()

def main():
"""主函数"""
# 创建套接字
server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
server_socket.bind(('',8001))
server_socket.listen(10)

while True:
# 客户请求接收开启进程
client_socket,client_address = server_socket.accept()
print("[%s,%s]用户连接上了" % client_address)

handle_client_process = Process(target=handle_client,args=(client_socket,))
handle_client_process.start()
client_socket.close()

if __name__ == '__main__':
main()
...全文
349 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
手无护鸡之力 2017-06-30
  • 打赏
  • 举报
回复
python 2.7 20行 : client_socket.send(bytes(response_data)) 38行 :handle_client_process.runs()
屎克螂 2017-06-30
  • 打赏
  • 举报
回复
http://127.0.0.1:8001 能访问到,不过会报错 我试的

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧