在Python网络编程中,recv与recvfrom都用于接收数据,但用法不同。recv用于TCP连接,直接接收数据;recvfrom用于UDP,可接收数据及发送方地址,适用于无连接通信。
1、 启动Python的IDLE开发环境,创建名为client.py的新文件,然后在其中输入相应的代码内容。
2、 此处采用UDP报文协议,SOCK_DGRAM参数专用于UDP通信。
3、 在IDLE中新建名为server.py的文件,用于作为服务器端接收数据,编写相应代码即可实现功能。
4、 接收数据时调用的是recv函数
5、 按下Win+R键打开运行窗口,输入指定命令即可。
6、 cmd
7、 启动命令行界面
8、 在命令行中进入server.py所在目录,执行运行命令启动该文件。
9、 程序将暂停并等待操作完成
10、 在client.py文件中,通过IDLE菜单栏选择运行功能,点击运行模块进行调试执行。
11、 服务端将打印出客户端发送的hello消息。
12、 修改server.py文件,将代码调整为使用recvfrom函数进行数据接收,具体实现方式所示。
13、 重复执行第4至第5步,可观察到输出结果为元组类型,其中包含发送的数据、发送方地址及端口号,即client.py运行时所使用的端口信息。
14、 recvfrom函数不仅能接收数据,还能获取发送方的地址信息,功能比recv更全面。
<!-- 非定向300*250按钮 17/09 wenjing begin -->
<!-- 非定向300*250按钮 end -->
</div>
未经允许不得转载:紫竹林-程序员中文网 » Python中recv与recvfrom区别