socket-02
2024-09-07 01:12:13
# -- coding: utf-8 -- _author__ = "HuaQiang Yan"
import socket def handle_request(client):
buf = client.recv(1024) # 接收请求
client.send(bytes("HTTP/1.1 200 OK\r\n\r\n", encoding='utf-8'))
client.send(bytes("Hello World!", encoding='utf-8'))
# 发送请求
# bytes():转换成bytes类型
# 当然直接encoding不用谢bytes也行,但是按照标准比较不会出错
# 相当于 str(1)转换字符串
# 相当于list((111,))转换成列表
# 相当于bytes('sdfsd',)转换成bytes def main():
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建socket服务端,AF_INET:IPv4,SOCK_STREAM:TCP
sock.bind(('0.0.0.0', 8000)) # 监听端口,1024以下为标准端口需要管理员权限开启,1024以上可以随意用
sock.listen(5) # 最大连接数 while True: # 循环
connection, address = sock.accept() # 只要有人连接获取该连接
# connection:链接标记位, address:对方的地址
handle_request(connection) # 执行handle_reques处理函数
connection.close() # 连接断开 #也就是有人访问了该服务端,服务端返回数据后自动断开 if __name__ == '__main__':
main() # 执行该函数
最新文章
- Stream篇
- 从两个平方算法到分治算法-java
- java堆、栈、堆栈的区别
- flowvisor test(1)
- Partition an array around an interger
- CodeForces 32C
- DLL中导出STL模板类的问题
- JDBC自动提交和批处理操作
- Linux中“is not in the sudoers file”解决方法
- base64使用
- 《Inside C#》笔记(十三) 多线程 下
- [LeetCode] 1. Two Sum_Easy
- 爬虫系列之BeautifulSoup
- [转]深入理解mysqldump原理
- JNI入门
- Quartz学习记录
- java并发编程实战笔记---(第三章)对象的共享
- Django Nginx配置
- L2TP/IPSec一键安装脚本
- FPGA与图像处理
热门文章
- 【大数据】Hadoop单机安装配置
- Python中*args和**kargs如何使用
- 使用async/await消除callback hell
- oc语言的特征
- 分布式session共享
- Javascript搞笑图,哈哈哈哈
- Odds calculation required for the python strategy library
- 分享一个Centos8的国内yum源
- linux高性能服务器编程 (八) --高性能服务器程序框架
- TensorFlow 报错 ValueError: Can't load save_path when it is None.