socket学习(二)---创建UDP客户端

UDP客户端的创建

1. 伪代码

首先,我们将展现创建通用UDP服务器的一般伪代码,然后对这些代码的含义进行一般性的描述。

cs = socket.socket() # 创建客户端套接字
comm_loop: # 通信循环
	cs.sendto()/cs.recvfrom() # 对话(发送/接收)
cs.close() # 关闭客户端套接字

一旦创建了套接字对象,就进入了对话循环之中,在这里我们与服务器交换消息。最后, 当通信结束时,就会关闭套接字。

2. 制作一个UDP客户端

import socket

HOST = 'localhost'
PORT = 8080
BUFSIZE = 1024
ADDR = (HOST, PORT)

udp_c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    data = input("请输入您要发送的数据: ")
    if not data:
        break
    udp_c.sendto(data.encode('gbk'), ADDR)
    data, ADDR = udp_c.recvfrom(BUFSIZE)
    if not data:
        break
    print(data)

udp_c.close()

代码解释:

1-6行: 导入socket模块,定义通信时需要使用的变量,由于本次的实验是在自己的主机上运行,所以HOST就设置为’localhost’,PORT为自己指定的端口号,要保证没有冲突。注意:这个HOST,PORT是目的主机的套接字信息。我们做的是一个客户端,一般客户端是不需要绑定端口的,而是在通信的时候向操作系统随机申请一个端口进行通信。

8行: 创建一个套接字对象,用于接下来的数据交换

10-18行:设置一个循环,用来发送或接收信息,在发送信息的时候,需要对数据进行编码处理。

20行: 关闭套接字对象,结束通信。

3. 执行UDP客户端

在编写好上述代码后,首先启动网络调试工具,让其充当UDP服务器的角色并设置端口为8080,然后,用我们编写的程序给它发送数据包。

运行结果如图:

我们用socket发送一个url给调试助手:

在这里插入图片描述

调试助手接收到了通过socket发送的url

在这里插入图片描述

以上就完成了同一主机之间两个进程的简单通讯。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值