python套接字创建怎样做,要点有哪些
Admin 2022-08-19 群英技术资讯 405 次浏览
TCP / IP 是设备用于在 Internet 和大多数本地网络上进行通信的一组协议。 TCP 更可靠,具有大量错误检查并需要更多资源。 HTTP,SMTP 或 FTP 等服务使用它。 UDP 的可靠性要差得多,错误检查的能力也有限,所需资源也更少。 VoIP 等服务使用它。
socket.SOCK_STREAM用于为 TCP 创建套接字,而socket.SOCK_DGRAM为 UDP 创建套接字。
创建套接字时,必须指定其地址族,在套接字中使用该类型。
AF_UNIX,AF_LOCAL-本地通讯
AF_INET-IPv4 Internet 协议
AF_INET6-IPv6 Internet 协议
AF_IPX-IPX-Novell 协议
AF_BLUETOOTH-无线蓝牙协议
AF_PACKET-底层数据包接口
对于AF_INET地址族,指定了一对(主机,端口)。 host是一个字符串,表示互联网域表示法中的主机名(如example.com)或 IPv4 地址(如93.184.216.34),并且 port 是整数。
import socket ip = socket.gethostbyname("geek-docs.com") print(ip)
TCP ipv4 import socket # 创建用于IPV4的TCP套接字 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: # 工作时间服务器的主机名和端口 host = "time.nist.gov" port = 13 # 连接到远程套接字 s.connect((host, port)) # 将数据发送到套接字。套接字必须连接到远程套接字。从字节发送数据,直到发送完所有数据或发生错误为止 s.sendall(b'') print(str(s.recv(4096), 'utf-8')) # HEAD请求:HEAD 请求是没有消息正文的 GET 请求。 请求/响应的标头包含元数据,例如 HTTP 协议版本或内容类型。 import socket with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect(("webcode.me", 80)) s.sendall(b"HEAD / HTTP/1.1\r\nHost: webcode.me\r\nAccept: text/html\r\n\r\n") print(str(s.recv(1024), 'utf-8')) #GET 请求:请求指定资源的表示形式。 使用 GET 的请求应仅检索数据 import socket with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect(("webcode.me", 80)) # 对于 HTTP 1.1 协议,默认情况下,连接可以是持久的。 这就是为什么我们发送Connection: close标头的原因。 s.sendall(b"GET / HTTP/1.1\r\nHost: webcode.me\r\nAccept: text/html\r\nConnection: close\r\n\r\n") while True: data = s.recv(1024) if not data: break print(data.decode()) #回显客户端服务器示例 import socket import time with socket.socket() as s: host = 'localhost' port = 8001 s.bind((host, port)) print(f'socket binded to {port}') s.listen() con, addr = s.accept() with con: while True: data = con.recv(1024) if not data: break con.sendall(data) #异步服务器 import asyncio async def handle_client(reader, writer): data = (await reader.read(1024)) writer.write(data) writer.close() loop = asyncio.get_event_loop() loop.create_task(asyncio.start_server(handle_client, 'localhost', 8001)) loop.run_forever()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
安装环境时,稍微不留神就会出现报错的情况。为了这群粗心的小伙伴,小编特意整理了解决办法,希望能够对大家有所帮助。
爬取网页其实就是通过URL获取网页信息,网页信息的实质是一段添加了JavaScript和CSS的HTML代码。Python提供了一个抓取网页信息的第三方模块requests,requests模块自称“HTTP for Humans”,直译过来的意思是专门为人类而设计的HTTP模块,该模块支持发送请求,也支持获取响应。
这篇文章主要为大家介绍了python神经网络MobileNetV3 large模型的复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
对于扫雷游戏相信大家应该都不陌生吧,扫雷游戏可以说是很经典的游戏了,之前我们了解了使用介绍实现扫雷游戏,这篇文章我们就来尝试使用python做一个扫雷游戏,感兴趣的朋友就接着往下看吧。
进程是资源分配的最小单位,他是操作系统进行资源分配和调度运行的基本单位。通俗理解:一个正在运行的一个程序就是一个进程,本文重点给大家介绍python多线程编程的相关知识,感兴趣的朋友一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008