首页 Python 正文
文章详情

1、编写TCP服务器程序。

2、获取浏览器发送的http请求消息数据。

3、读取固定的页面数据,将页面数据组装成HTTP响应消息数据并发送给浏览器。

4、HTTP响应报文数据发送完成后,关闭服务于客户端的套接字。

实例

#时间:2021/10/2120:38
importsocket


if__name__=='__main__':
#创建tcp服务端套接字
tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#设置端口号复用,程序退出端口立即释放
tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
#绑定端口号
tcp_server_socket.bind(("",8080))
#设置监听
tcp_server_socket.listen(128)
whileTrue:
#等待接受客户端的连接请求
new_socket,ip_port=tcp_server_socket.accept()
#代码执行到此,说明连接建立成功
recv_client_data=new_socket.recv(4096)
#对二进制数据进行解码
recv_client_content=recv_client_data.decode)
print(recv_client_content)


#响应行
response_line="HTTP/1.1200OK\r\n"
#响应头
response_header="Server:py1.0\r\n"

#响应体
response_body="Hello,guys!"

#拼接响应报文
response_data=(response_line+response_header+"\r\n"+response_body).encode()
#发送数据
new_socket.send(response_data)

#关闭服务与客户端的套接字
new_socket.close()

版权:

转载请注明出处:https://www.bdoc.cn/278.html

相关推荐
python序列解包的使用
1、序列解包可用于元组、列表、字典。序列解包可以让我们更方便地赋予多个变量。 2、字典中使用序列解包时,默认情况下是键的操作。如果需要操作键…
头像
Python 2025-06-03
875
python模块的name属性
一个模块被另一个程序第一次引入时,其主程序将运行。 1、如果想在模块被引入时,模块中的某一程序块不执行,可以用name属性来使该程序块仅在该…
头像
Python 2025-06-03
210
python实例方法的使用注意
1、实例方法是从属于实例对象的方法,定义实例方法时,第一个参数必须为 self。self 指当前的实例对象。 2、调用实例方法是,不需要也不…
头像
Python 2025-06-03
308
python静态方法的用法
1、通过装饰器@staticmethod定义静态方法。 2、@staticmethod必须写在方法上。 3、在静态方法中访问实例属性和实例方…
头像
Python 2025-06-03
902
python类方法的注意点
1、@classmethod必须在方法上面。 2、第一个cls必须有,指的是类对象本身。 3、在类方法中访问实例属性和实例方法会导致错误。 …
头像
Python 2025-06-03
852
python中__del__方法的使用
1、__del__方法称为析构方法,用于实现对象被销毁所需的操作。Ex:释放对象占用的资源、打开的文件资源、网络连接等。 Python实现自…
头像
Python 2025-06-03
417
发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:9:00-16:00

客服QQ

799549999

客服QQ

799549999

客服邮箱

799549999@qq.com