【网络编程】UDP简单网络编程1(First Contact UDP)

本文记录了一次使用UDP套接字进行简单网络通信的实验过程。通过克隆github上的代码,编译并运行listener作为服务器端,使用nc命令作为客户端发送消息。实验展示了如何在本地进行UDP通信,强调了nc命令的使用方法以及如何终止通信。
摘要由CSDN通过智能技术生成

概述

最近在学习网络编程,本篇文章主要记录网络编程实验的一些过程,以此加深印象。该篇是关于UDP套接字的简单网络编程通信。

实验过程

1.从github克隆一个代码文件夹,里面有已经写好的UDP网络编程代码,下面放上链接。 https://github.com/patrikarlos/networkprogramming.
2.克隆成功后,启动终端。cd到克隆下来的文件夹下,执行命令

make listener

在这里插入图片描述
由于我已经实现编译过该文件,所以结果是up to date,对没编译过的情况结果应该如下图。
在这里插入图片描述
2.编译成功后,运行listener文件,在终端输入:

./listener

成功运行:
在这里插入图片描述
3.此时,UDP的服务器已悄然启动,并在代码预定义的端口保持监听,等待客户的呼叫。
4.此时我们再打开一个终端,在终端输入:

nc -u 127.0.0.1 4950

在勇敢敲击回车键后,输入你想要发送的消息,就会发现之前那个监听运行的终端上有你发送的消息,实验就成功啦。
客户端:
在这里插入图片描述
服务器端:
在这里插入图片描述
我这里使用的是127.0.0.1,代表了本机地址,在具体实验中,可以使用localhost代替,不知为何我使用localhost不能成功发送消息,可能是存在主机权限的问题。
该步说明:
这将创建一个UDP套接字(-u),将其与“localhost”和端口4950关联。由于它的udp,没有连接,所以此时不会交换消息(TCP将不同)。它可能不清楚,但光标在你按下Enter后创建的行上是“活动的”。如果你现在在那里输入一些东西(这是标准输入,标准输入,标准输入,标准输入/标准输入),然后按enter,这个‘字符串’将被封装到UDP包中并发送到服务器。如果你查看服务器(监听器)运行的终端,你应该会看到你刚刚发送的“字符串”以及一些额外的信息。发送者、发送者的IP和端口以及字节大小。
5.如要停止运行,按下键盘ctrl+C即可
6.另一种传消息方式:

echo -en "bob\n+Alice\n=True" | nc -w1 -u 127.0.0.1 4950  

我们还需要配置netcat/nc,我们要做的是添加一个选项’-w1’,在它断开连接前等待1秒,然后断开连接。对于UDP来说,它的含义并不清楚,但效果是nc在发送消息后1秒终止。
客户端:
在这里插入图片描述
服务器端:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值