当前位置:网站首页>网路编程_socket返回值
网路编程_socket返回值
2022-08-09 02:54:00 【joker_0030】
#include<stdio.h>
#include<stdlib.h>
#include<WinSock2.h>//网络库。<WinSock.h>
#pragma comment(lib,"Ws2_32.lib")//只有32位的。<Wsock32.lib>对应<WinSock.h>库。
int main(void)
{
WORD wdVersion = MAKEWORD(2,2);//传入MAKEWORD宏里,存入wdVersion里。
//MAKEWORD:原理((WORD)(((BYTE)(((DWORD_PTR)(a))&0xff))| ((WORD)(((BYTE)(((DWORD_PTR)(b)) &0xff)))<<8))。
WSADATA wdScokMsg;
//LPWSADATA lpw = malloc(sizeof(WSADATA));
//int a = *((char*)&wdVersion);
//int b = *((char*)&wdVersion+1);
//WSAStartup(wdVersion, lpw);
int nRes=WSAStartup(wdVersion,&wdScokMsg);
if (0!=nRes)
{
switch (nRes)
{
case WSASYSNOTREADY:
printf("重启下电脑试试,或者检查网络库。\n");
break;
case WSAVERNOTSUPPORTED:
printf("请更新网络库。\n");
break;
case WSAEINPROGRESS:
printf("请重新启动软件。\n");
break;
case WSAEPROCLIM:
printf("请尝试关掉不必要的软件,以为当前网络运行提供充足的资源。\n");
break;
/*case WSAEFAULT://参数问题。
break;*/
}
}
//校验版本。
if (2 != HIBYTE(wdScokMsg.wVersion) || 2 != LOBYTE(wdScokMsg.wVersion))
{
//说明版本不对。
//清理网络库。
WSACleanup();
return 0;
}
SOCKET socketServer = socket(AF_INET, SOCK_STREAM,12);
//成功返回可用的socket。失败返回INVALID_SOCKET。
//int a = WSAGetLastError();//检测最近的系统定义函数。
if (INVALID_SOCKET==socketServer)
{
int a = WSAGetLastError();//检测最近的系统定义函数。值为10043,请求的协议还没有在系统中配置,或者没有它存在的迹象。
//创建失败。
//清理网络库。
WSACleanup();
return 0;
}
closesocket(socketServer);
//清理网络库。
WSACleanup();
//free(lpw);
system("pause");
return 0;
}
边栏推荐
猜你喜欢
SA-SSD环境搭建——血与泪的教训
第二部分:和查找表相关的问题
Zabbix 5.0 监控教程(四)
工作小计 rtcp的length和网络字节序
时间复杂度和空间复杂度
关于eBPF与可观测性,你想知道的都在这里
What aspects should we start with for interface security testing?
Redis中SDS简单动态字符串
Likou Brush Question Record 4.1-----209. The sub-array with the smallest length
online schema change and create index
随机推荐
马斯克被因狗狗币被索赔2580亿美元 操纵价格牟利?狗狗币已下跌92%
[LeetCode305周赛] 6136. 算术三元组的数目,6139. 受限条件下可到达节点的数目,6137. 检查数组是否存在有效划分,6138. 最长理想子序列
Postman接口测试【官网】最新版本 安装及使用入门教程
C专家编程 第10章 再论指针 10.1 多维数组的内存布局
【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
MES对接Simba实现展讯平台 IMEI 写号与耦合测试
【洛谷】P1082 同余方程
1160. 拼写单词
数字 01 Vivado2018.2安装及实操
VSCode使用总结
并查集相关知识点
【Jenkins 学习笔记】玩转持续集成与持续交付
非关系型数据库MongoDB:(二)副本集部署说明、数据迁移、限制内存、启用mongo认证
Recently, I have seen a lot of people who want to study by themselves or enroll in classes but don’t know how to choose. I will tell you about it today.
【es6】教程 Symbol数据以及迭代器和生成器
Hudi从内核到实战介绍
【剑指offer】二进制中1的个数&&2的幂
MVVM项目开发(商品管理系统二)
攀爬倒影发光方块
多御安全浏览安卓版升级尝鲜,新增下载管理功能