打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
UDP socket编程实例代码



///udpclient.cpp
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <string.h>
#include <iostream>

int main(int argc, char * argv [ ])
{
    int sockfd;
    int len,i;
    char buf[1024]={0};
    unsigned short port = 0x9999;
    struct sockaddr_in server_addr;

    sockfd = socket(PF_INET,SOCK_DGRAM,0);
    if(-1 == sockfd)
    {
        printf("socket error\n");
        return -1;
    }

    bzero(&server_addr,sizeof(server_addr));
    server_addr.sin_family = PF_INET;
    server_addr.sin_port   = htons(port);
    server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");

    i = 0;
    while(1)
    {

        memset(buf,0,sizeof(buf));
        sprintf(buf,"hello,i am client %d",i);
        len = sendto(sockfd,buf,strlen(buf),0,(struct sockaddr *)(&server_addr),sizeof(server_addr));
        std::cout<<len<<std::endl;

        memset(buf,0,sizeof(buf));
        sprintf(buf,"fuck fuck fuck %d",i);
        len = sendto(sockfd,buf,strlen(buf),0,(struct sockaddr *)(&server_addr),sizeof(server_addr));
        std::cout<<len<<std::endl;
        sleep(1);

        i++;
    }
    close(sockfd);
    return 0;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//udpserver.cpp
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <iostream>

int main(int argc, char * argv [ ])
{
    int sockfd;
    int len;
    struct sockaddr_in server_addr;
    unsigned short port = 0x9999;
    char recv[1024]={0};

    sockfd = socket(PF_INET,SOCK_DGRAM,0);
    if(-1 == sockfd)
    {
        printf("socket error\n");
    }

    bzero(&server_addr,sizeof(server_addr));
    server_addr.sin_family = PF_INET;
    server_addr.sin_port   = htons(port);
    server_addr.sin_addr.s_addr = htonl(INADDR_ANY);

    if(-1 == bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(server_addr)))
    {
        printf("bind error\n");
        return -1;
    }

    while(1)
    {
        len = recvfrom(sockfd,recv,1024,0,NULL,NULL);
        if(0 < len)
        {
            printf("%s\n",recv);
            std::cout<<len<<std::endl;
            //break;
        }
        sleep(2);
    }
    printf("server out");
    close(sockfd);
    return 0;
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
3个学习Socket编程的简单例子:TCP Server/Client, Select
linux socket进程通信
自己动手用c语言写一个基于服务器和客户端(TCP)
linux 编程
Linux 网络编程——并发服务器的三种实现模型
转udp 超时设置(select函数的一种用法)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服