UPD Socket-基本用法

UDP 是User Datagram Protocol的简称,
中文名是用户数据报协议

适用于局域网的主机通信
客户机-服务器系统(Client-Sever system)

使用方法

  • 创建socket
OS_SocketAdder local("127.0.0.1",9000);
OS_UdpSocket sock;
sock.open(lock,true);
  • 发送
OS_SocketAdder peer;
sock.SendTo(buf,n,peer);
  • 销毁socket
    sock.Close()

示例代码

//发送
#define _CRT_SECURE_NO_WARNINGS /* VS2013,2015需要这一行 */
#include <stdio.h>
#include <string.h>

#include "osapi/osapi.h"

int main()
{
    printf("发送方: port=9000 ...\n");

    OS_SockAddr local("127.0.0.1", 9000);
    OS_UdpSocket sock;
    sock.Open(local, true);

    while (1)
    {
        // 让用户输入一段文本
        char buf[128];
        printf("> ");
        gets_s(buf);
        }

    
        }
        int n = strlen(buf);

        // 发送
        //OS_SockAddr peer("192.168.71.129", 9001); // 对方地址
        //OS_SockAddr peer("192.168.71.1", 9001); // 对方地址
        OS_SockAddr peer("127.0.0.1", 9001); // 对方地址
        sock.SendTo(buf, n, peer);

        // 结束
        if (strcmp("bye", buf) == 0)
        {
            break;
        }
        
    }

    // 关闭socket
    sock.Close();
    return 0;
}
//接收
#include<stdio.h>
#include"osapi/osapi.h"

/*
    HOST_A发送方
*/
int main()
{
    printf("接收方:9001...\n");

    OS_SockAddr local("127.0.0.1", 9001);//本地IP和端口
    OS_UdpSocket socket;
    socket.Open(local, true);

    while (1)
    {
        char buf[128];
        OS_SockAddr peer;//发送方IP和端口
        int n=socket.RecvFrom(buf, 128, peer);//接收消息

        if(n<=0)
        {
            break;
        }

        buf[n] = 0;
        printf("Got: %s  \n", buf);

        //结束
        if (strcmp(buf, "bye") == 0)
        {
            break;
        }

    }
    //关闭socket
    socket.Close();
    return 0;
}

❤️


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络概念第一天 两台电脑怎么通过网络传输数据?怎样才能知道传输的是数据?谁摸过网线? 看电影,怎么看的?通过电流,...
    小吖朱阅读 5,469评论 0 1
  • 一.七层?四层? OSI模型(Open System Interconnection Reference Mode...
    Geeks_Liu阅读 36,792评论 22 156
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 11,176评论 1 13
  • 我是个心事重重的人,所以我时常反思自己的过往,在此的过去我想过许多人和事,有过悲与喜的各色情绪。我虽并不由此觉得我...
    山贼爷阅读 3,928评论 0 2
  • 我的心 出离了躯体 飘荡在云际 遇风又遇雨 却嘱咐自己 挣扎着飞 学会挡风 学会遮雨 心的承受力 完全凭自己 总有...
    梅蕊新说阅读 760评论 0 1