基于udp的socket网络编程

news/2025/4/26 13:03:30/

套接字

网络套接字

原始套接字

unix套接字

windows下SOCKET 为整数。

协议家族  套接字种类   协议

udpServer.cc

#pragma warning(disable:4996)
#include<iostream>
#include<string>
#include<cstdlib>
#include<WinSock2.h>#pragma comment(lib,"ws2_32.lib")using namespace std;uint16_t serverport = 8080;
string serverip = "192.168.88.130";
int main()
{WSAData wsd;           //初始化信息//启动Winsockif (WSAStartup(MAKEWORD(2, 2), &wsd) != 0) {/*进行WinSocket的初始化,windows 初始化socket网络库,申请2,2的版本,windows socket编程必须先初始化。*/cout << "WSAStartup Error = " << WSAGetLastError() << endl;return 0;}else {cout << "WSAStartup Success" << endl;}//创建套接字SOCKET csock = socket(AF_INET, SOCK_DGRAM, 0);if (csock == SOCKET_ERROR){cout << "socket Error = " << WSAGetLastError() << endl;return 1;}else {cout << "socket Success" << endl;}//udp客户端不需要显示的绑定,但可以指定struct sockaddr_in server;server.sin_family = AF_INET;server.sin_port = htons(serverport);//将字符串转为点分十进制的ipserver.sin_addr.s_addr = inet_addr(serverip.c_str());
#define NUM 1024char inbuffer[NUM];//将信息发出string line;while (true){cout << "Please Enter# ";getline(cin, line);int n = sendto(csock, line.c_str(), line.size(), 0, (struct sockaddr*)&server, sizeof(server));if (n < 0){cerr << "sendto error!!!" << endl;break;}struct sockaddr_in peer; int peerlen = sizeof(peer);//收取数据inbuffer[0] = 0;n = recvfrom(csock, inbuffer, sizeof(inbuffer)-1,0, (struct sockaddr*)&peer, &peerlen);}closesocket(csock);WSACleanup();return 0;
}

【干货】Windows平台基于udp的socket网络编程开发_windows udp socket-CSDN博客

Linux和Windows跨平台通信


http://www.ppmy.cn/news/1521038.html

相关文章

mac电脑里面的 磁盘分区,容器,宗卷,宗卷组的理解和使用

在mac电脑里面我们一般都是使用宗卷&#xff0c;他和我们常见的pc机器硬盘的分区是有区别的。 对于物理硬盘来说 不管是分区还是宗卷&#xff0c;他们都是逻辑上面的概念。 分区 mac电脑里面的分区 和 pc电脑中的分区差不多&#xff0c; 他们都是针对的物理硬盘&#xff0c;…

Java 方法的特性详解

目录 一、引言 二、方法的重载 &#xff08;一&#xff09;定义与作用 &#xff08;二&#xff09;判断方法相同的标准 三、可变个数形参的方法 &#xff08;一&#xff09;使用场景 &#xff08;二&#xff09;格式与特点 &#xff08;三&#xff09;代码示例 四、方…

【大模型】llama系列模型基础

前言&#xff1a;llama基于transformer架构&#xff0c;与GPT相似&#xff0c;只用了transformer的解码器部分。本文主要是关于llama&#xff0c;llama2和llama3的结构解读。 目录 1. llama1.1 整体结构1.2 RoPE1.3 SwiGLU 激活函数 2. llama22.2 GQA架构2.3 RLHF 3. llama3参考…

ubuntu20.04(wsl2)测试 arcface 人脸识别(计算特征向量)

1. 参考博客和代码、模型仓库&#xff1a; 1.1. 【C随记】collect2: error: ld returned 1 exit status错误分析与解决 1.2. Visual Studio 2022新建 cmake 工程测试 tensorRT 自带样例 sampleOnnxMNIST 1.3.报错&#xff1a;ModuleNotFoundError: No module named ‘ten…

力扣SQL仅数据库(570-579)

570. 至少有5名直接下属的经理 需求&#xff1a; 编写一个解决方案&#xff0c;找出至少有五个直接下属的经理 数据准备&#xff1a; Create table If Not Exists Employee (id int, name varchar(255), department varchar(255), managerId int) Truncate table Employee i…

Mysql梳理1——数据库概述(上)

笔记来源&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 https://www.bilibili.com/video/BV1iq4y1u7vj 目录 11.2 引入 11.2. 1 数据库与数据库管理系统 11.2.2 数据库与数据库管理系统的关系 11.2.…

nnunetv2(一)配置文件和nnUNetv2_convert_MSD_dataset命令

文章目录 setup.pypyproject.tomlconfiguration.pynnUNetv2_convert_MSD_dataset 如有错误&#xff0c;欢迎评论 setup.py 可以使用pip install .命令来安装nnunet v2 pyproject.toml 配置文件 [project] name "nnunetv2" # 项目名称 version "2.5" # …

jmeter中响应时间、TPS、服务器资源图表

插件下载可以参考前面文章&#xff1a;相关插件 一、响应时间图表 jmeter中的聚合报告已经足够显示响应时间&#xff0c;但是不会显示很详细&#xff0c;下面使用监听器中的插件查看&#xff0c; 添加后&#xff0c;可以不用更改任何配置&#xff0c;直接使用默认即可统计响应…