当前位置:网站首页>网路编程_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;
}
边栏推荐
- 第二部分:和查找表相关的问题
- 【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
- 金融行业软件测试面试题(含答案)| 入门指南
- SwiftUI * Grid
- MVVM项目开发(商品管理系统二)
- "Lonely Walking on the Moon": Two choices of Duguyue, let a "middleman" become a big hero
- 普通人如何增加收入
- Rotate the neon circle
- [LeetCode84双周赛] [模拟] 6174. 任务调度器 II,[贪心&数学] 6144. 将数组排序的最少替换次数
- uart_spi练习
猜你喜欢
随机推荐
Kubernetes:(十四)安全机制(一定要做好安全措施哦)
flatMap() :对每个元素执行映射函数并将结果展平
【扫雷--2】
数学基础(三)PCA原理与推导
The building had been registry cluster, load balancing
加密公司集体裁员 以应对加密寒冬和通货膨胀?现加密总市值低于1万亿美元
C专家编程 第9章 再论数组 9.6 C语言的多维数组
MySQL相关知识 和 数据的存储相关知识
带你做接口测试从零到第一条用例 总结
grafana的panel点击title,没有反应,没有出现edit选项
DSP28379学习笔记 (一)——GPIO基本操作
Kubernetes:(十五)PV与PVC的《恩怨情仇》
Shell脚本:函数
MES对接Simba实现展讯平台 IMEI 写号与耦合测试
20220523搜索和排序:搜索旋转排序数组
多态 polymorphism
lvs+keepalived高可用负载均衡集群
unshift() :将一个或多个元素添加到数组的开头
Chapter3 numpy创建数组
What are the most popular automated testing tools in 2022?The most complete and most detailed of the entire network is here