python应用于网络_python网络编程应用(一)

这篇博客探讨了Python中的套接字模块属性,包括获取设备名称和IPV4地址的方法。文章还介绍了如何进行IP地址的二进制转换,并展示了设置套接字超时、缓冲区大小以及处理套接字错误的技巧。此外,还讨论了如何在指定端口和协议下查找服务名称。
摘要由CSDN通过智能技术生成

列出了一些常用的插座模块属性下1。套接字模块属性。(引用\u201CPython核心编程\u201D)2。实例分析在实际应用中打印设备名称和IPV4地址函数原型:()和(主机名)。您还可以使用()返回完整的域名。host_name =() #得到设备名称ip_addr = (host_name) #得到本地IP remote_host =\u201Cip_addr = (remote_host) #获得远程主机的IP的IPV4地址打印本地网络接口导入插座,fcntl, structifname = \如果你需要ipv6支持,您需要使用inet_pton () \/ inet_ntop()函数。从binascii进口hexlify #代表二进制数据以十六进制形式ip_addr =\u201Cpacked_ip_addr = _aton (ip_addr) #以字符串形式的IP地址转换为32位二进制格式unpacked_ip_addr = _ntoa (packed_ip_addr) #相反上面打印\u201CIP地址:% s\u201C% ip_addrprint\u201D包装:% s\u201C% hexlify (packed_ip_addr)打印\u201C打开:% s\u201C% unpacked_ip_addr发现服务名称通过指定的端口和协议:函数原型(名[,protocolname])和(端口[,protocolname])。

默认是找到所有协议。如果您需要指定它,它只能的tcp或udp。serverport = (http、tcp) servername =(80年,tcp)之间的转换主机字节顺序和网络字节顺序数据= 1234 # 32 # 16位# #在函数名n意味着网络;h意味着主机;l意味着长整数;年代意味着短整数,即16位。设置套接字超时s = (__STREAM)(100)()打印缓冲区大小设置进口sockets_buf = 1024 r_buf = 1024袜子= (__STREAM) bufsize = (__SNDBUF)打印\u201Cbufsize[在]:% d % bufsize (_TCP _NODELAY 1) (_SOCKET、_SNDBUF s_buf) (_SOCKET、_RCVBUF r_buf) bufsize = (_SOCKET _SNDBUF)打印\u201Cbufsize[在]:% d % bufsize设置套接字(非)阻塞模式默认情况下,TCP套接字处于阻塞模式。

调用setblocking()方法来改变阻塞套接字旗。默认值为1,这意味着它将阻止。当传入的值为0,阻塞是关闭的。如果非阻塞套接字和不准备处理操作,将生成一个。解决方案是设置一个超时值。s = (__STREAM) (1) () ((\解决方案是使SO_REUSEADDR套接字重用选项。s = (__STREAM) (__REUSEADDR, 1) ((bind_ip bind_port)) (5)\u2026\u2026套接字错误处理。socket套接字使用期间,很多错误都可能发生。您可以使用try-except声明处理异常。#第一try-except blocktry: s = (_INET _STREAM)除了e:打印\u201C创建套接字错误:% s e % #第二try-except blocktry:((主机、端口))除外,e:打印\u201C地址相关的错误连接到服务器:% s\u201C% e(1)除了e:打印\u201C连接错误:% s % e(1)#第三try-except blocktry:(\u201C% s \\ r \\ n \\ r \\ n\u201D%文件名)除了e:打印\u201C错误发送数据:% s % e(1), 1: #第四try-except blocktry: buf =(1024)除外,e:打印\u201C错误接收数据:% s e % (1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值