程序笔记   发布时间:2022-07-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C++ UDP接收和发送大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class UDP {
public:
    UDP() {
        RecvAddrSize = sizeof(RecvAddr);
        int nResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
        if (nResult != NO_ERROR) {
            std::cout << WSAGetLastError();
            return;
        }
        RecvSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDp);
        //设置服务器地址
        RecvAddr.sin_family = AF_INET;
        RecvAddr.sin_port = htons(Port);
        RecvAddr.sin_addr.s_addr = inet_addr("192.168.1.111");
        int ret = bind(RecvSocket, (sockaddr *)&RecvAddr, sizeof(RecvAddr));
        if (ret < 0) {
            perror("bind");
            return;
        }
    }
    void sendDataToPython() {char temp[2000];
        sprintf(temp, "insert into Flight_data.AirData({:}, cdata) values({:}, '{:}')", m_str, s_str, date_time);
        int flag = sendto(RecvSocket, temp, sizeof(temp), 0, (sockaddr*)&RecvAddr, sizeof(RecvAddr));
        std::cout << flag;
        }
    }
    void recvDataToLocal() {
            memset(RecvBuf, '', sizeof(RecvBuf));
            printf("recv a datagram to the receiver...n");
            int nResult = recvfrom(RecvSocket, RecvBuf, BufLen, 0, (SOCKADDR *)&RecvAddr, &RecvAddrSizE);
            //发送完成,关闭Socket
            printf("%sn", RecvBuf);
    }
    ~UDP() {
        closesocket(RecvSocket);
        WSACleanup();
    }
private:
    WSADATA wsaData;//初始化
    SOCKET RecvSocket;
    sockaddr_in RecvAddr, sendAddr;//服务器地址
    char RecvBuf[10240] = { 0 };//发送数据的缓冲区
    int Port = 4000;//服务器监听地址
    int BufLen = 10240;//缓冲区大小
    int RecvAddrSize = 0; //初始化SocketAddr的大小
};
@H_982_197@

 

大佬总结

以上是大佬教程为你收集整理的C++ UDP接收和发送全部内容,希望文章能够帮你解决C++ UDP接收和发送所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:php程序员