首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏c语言与cpp编程

    c语言UDP传输系统源码

    { printf("setsockopt failed:%d",WSAGetLastError()); closesocket(socketBro); WSACleanup \n",i); } i++; } /*发送完毕后关闭套接字、释放占用资源*/ closesocket(socketBro); WSACleanup socketRec==INVALID_SOCKET) { printf("Create socket error:%d",WSAGetLastError()); WSACleanup { printf("setsockopt failed:%d",WSAGetLastError()); closesocket(socketRec); WSACleanup failed: %d\n", WSAGetLastError()); closesocket(socketMul); WSACleanup

    3.8K00发布于 2021-01-02
  • 来自专栏半生瓜のblog

    【网络编程】简单的服务端客户端实现

    = 1)//版本检查 { WSACleanup();//清理套接字库 return -1; } //创建套接字 SOCKET sockServer closesocket(sockConnect); } //关闭套接字 closesocket(sockServer); //清理套接字库 WSACleanup = 1)//版本检查 { WSACleanup();//清理套接字库 return -1; } //创建TCP套接字 SOCKET sockClient = 1) { WSACleanup(); return -1; } //创建套接字 SOCKET sockServer = socket(AF_INET,SOCK_DGRAM,0); = 1) { WSACleanup(); return -1; } //创建UDP套接字 SOCKET sockClient = socket(AF_INET, SOCK_DGRAM,

    57230编辑于 2023-05-13
  • 来自专栏Eureka的技术时光轴

    基于UDP(面向无连接)的socket编程

    说明: 本程序是基于windows socket的套接字库实现网络编程; 当WSAStartup函数调用成功后,在程序的最后都需要相应的调用WSACleanup函数 以便释放为该应用程序分配的资源 = WSAStartup(dwVersionReq,&wsData)) { WSACleanup(); return 0; } //socket = 1)) { WSACleanup(); return 0; } //创建服务套接字 SOCKET socketSrv = socket = WSAStartup(dwVersionReq,&wsData)) { WSACleanup(); return 0; } //版本判断 = 1)) { WSACleanup(); return 0; } //创建套接字 SOCKET socketClient =

    1K21发布于 2019-07-24
  • 14.4 Socket 双向数据通信

    SOCKET sServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sServer == INVALID_SOCKET) { WSACleanup const struct sockaddr*)&addrServ, sizeof(addrServ)) == SOCKET_ERROR) { closesocket(sServer); WSACleanup return -1; } // 监听套接字 if (listen(sServer, 5) == SOCKET_ERROR) { closesocket(sServer); WSACleanup FAR*) & addrClient, &addrClientLen); if (sClient == INVALID_SOCKET) { closesocket(sServer); WSACleanup 服务器套接字 SOCKET sHost = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sHost == INVALID_SOCKET) { WSACleanup

    62120编辑于 2023-10-14
  • 来自专栏韩曙亮的移动开发专栏

    【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )

    文章目录 前言 一、开发前的配置 ( 头文件 | 编译参数设置 ) 二、网络初始化 WSAStartup 与清理 WSACleanup 操作 前言 本篇博客重点分析 CNetwork 网络模块 ; 一、 FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS) 二、网络初始化 WSAStartup 与清理 WSACleanup CNetwork 中 , 定义了一个 WSAPrepare 私有类 , 在 Windows 中调用网络功能 , 必须执行 WSAStartup 初始化函数 , 否则无法使用网络功能 ; 使用完毕后 , 一定要执行 WSACleanup /* 该私有类的作用是用于整体的网络初始化 在 Windows 中调用网络功能 , 必须执行 WSAStartup 初始化函数 , 否则无法使用网络功能 使用完毕后 , 一定要执行 WSACleanup LPCSTR)CNetwork::GetErrorString()); (void)getchar(); abort(); } } ~WSAPrepare() { if (WSACleanup

    50410编辑于 2023-03-29
  • 来自专栏全栈程序员必看

    C语言socket实现文件下载[通俗易懂]

    == INVALID_SOCKET) { printf("socket failed with error %d\n",WSAGetLastError()); WSACleanup printf("bind failed with error %d\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup \n"); closesocket(ListenSocket); WSACleanup(); return -1; }//if SOCKET printf("accept failed : %d\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup ,ClientThread,(LPVOID* )&clientInfo,0,&dwThreadID); }//while closesocket(ListenSocket); WSACleanup

    1.7K20编辑于 2022-09-15
  • 来自专栏嵌入式项目开发

    Windows下网络编程(win32API+VS2022)

    = INVALID_SOCKET) { std::cout << "创建套接字失败: " << WSAGetLastError() << std::endl; WSACleanup :cout << "监听连接请求失败: " << WSAGetLastError() << std::endl; closesocket(listenSocket); WSACleanup :cout << "发送消息执行错误: " << WSAGetLastError() << std::endl; closesocket(clientSocket); WSACleanup :cout << "接收消息执行错误: " << WSAGetLastError() << std::endl; closesocket(clientSocket); WSACleanup < WSAGetLastError() << std::endl; //输出错误信息并退出程序 closesocket(connectSocket); //关闭套接字 WSACleanup

    1.1K00编辑于 2024-05-24
  • 来自专栏半生瓜のblog

    【网络编程】基于TCP/IP协议的C/S模型

    = 2 如果版本不对 WSACleanup();//清理网络库 return 0; 创建socket SOCKET socket( int af, 返回值 成功-返回可用的socket 失败-不用了一定要释放掉——closesocket(xxx); 然后再WSACleanup();清理网络库 注意二者的先后顺序,一定要先释放,然后再清理网路库 = 2) { //说明版本不对 printf("版本不对"); WSACleanup();//清理网络库 return 0; } //创建socket SOCKET socketServer = 2) { //说明版本不对 printf("版本不对"); WSACleanup();//清理网络库 return 0; } //创建的是服务器的,客户端不用创建自己的socket (); return 0; } } //清理网络库 closesocket(socketServer); WSACleanup(); system("pause"); return

    95210编辑于 2023-05-12
  • 20.8 OpenSSL 套接字SSL传输文件

    = 2) { WSACleanup(); return 0; } if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) SSL_load_error_strings(); ctx = SSL_CTX_new(SSLv23_client_method()); if (ctx == NULL) { WSACleanup = 2) { WSACleanup(); return 0; } if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { WSACleanup(); return 0; } dest.sin_family = AF_INET; dest.sin_addr.s_addr = inet_addr = 0) { WSACleanup(); return 0; } ssl = SSL_new(ctx); SSL_set_fd(ssl, sockfd); if

    55551编辑于 2023-11-07
  • 来自专栏ccf19881030的博客

    VC++ UDP网络控制台程序

    . */ WSACleanup( ); return -1; } /* The WinSock DLL is acceptable inet_ntoa(addrClient.sin_addr), addrClient.sin_port); //关闭套接字 closesocket(sockServer); //终止套接字库的使用 WSACleanup the user that we could not find a usable */ /* WinSock DLL. */ WSACleanup \n"); } //关闭套接字 closesocket(sockClient); //终止套接字库的使用 WSACleanup(); return 0; } 先启动服务端UDPServer

    1.2K30发布于 2019-04-23
  • 来自专栏流川疯编写程序的艺术

    win32 tcp文件传输并发服务器

    \n"); closesocket(newsock); //WSACleanup(); return -1; } fwrite(filedata.package,1,BUFFERSIZE \n"); WSACleanup(); return -1; } //设置服务器地址 struct sockaddr_in servaddr; memset(&servaddr, \n"); closesocket(socklisten); WSACleanup(); } //在server上运行监听 if (listen(socklisten,20)! \n"); closesocket(socklisten); WSACleanup(); return -1; } //接收客户端的连接请求 printf("TCP server \n"); closesocket(connect); WSACleanup(); return -1; } //创建新线程 DWORD ThreadID; CreateThread

    1.1K30发布于 2019-01-18
  • C/C++ 使用Socket模拟远程CMD

    \n"); WSACleanup(); exit(1); } struct sockaddr_in ServerAddr; \n"); closesocket(sock); WSACleanup(); exit(1); } printf("Server \n"); closesocket(sock); WSACleanup(); exit(1); } SOCKET msgsock \n"); WSACleanup(); continue; } struct sockaddr_in ClientAddr \n"); closesocket(sock); WSACleanup(); continue;

    84810编辑于 2022-12-28
  • 来自专栏jiajia_deng

    windows 下最小化 tcp/udp 实例

    = 2) { WSACleanup(); return -2; } // 创建 socket 连接 SOCKET sock = socket recvBuf), 0); cout << "recv data : " << ret << recvBuf << endl; } // 关闭 socket closesocket(sock); WSACleanup = 2) { WSACleanup(); return -2; } // 创建 socket SOCKET sock = socket(AF\_INET, SOCK\_STREAM, szAddress << " : " << recvBuf << endl; } // 关闭套接字 closesocket(sock); // 卸载套接字库 WSACleanup sizeof(sendBuf), 0, (sockaddr\*)&srvaddr, sizeof(srvaddr)); // 关闭套接字 closesocket(sock); // 卸载套接字库 WSACleanup

    61530编辑于 2023-10-20
  • 来自专栏半生瓜のblog

    【网络编程】事件选择模型

    if (eventServer == WSA_INVALID_EVENT) { int a = WSAGetLastError(); closesocket(socketServer); WSACleanup ); //释放事件句柄 WSACloseEvent(eventServer); //释放所有socket closesocket(socketServer); //关闭网络库 WSACleanup = LOBYTE(wdScokMsg.wVersion)) { //说明版本不对 //清理网络库 WSACleanup(); return 0; } SOCKET socketServer WSAGetLastError(); if (INVALID_SOCKET == socketServer) { int a = WSAGetLastError(); //清理网络库 WSACleanup SOMAXCONN)) { //出错了 int a = WSAGetLastError(); //释放 closesocket(socketServer); //清理网络库 WSACleanup

    62800编辑于 2023-05-12
  • 来自专栏全栈程序员必看

    函数WSAStartup[通俗易懂]

    那么程序代码如下 wVersionRequested = MAKEWORD( 2, 1 ); err = WSAStartup( wVersionRequested, &wsaData ); 二、WSACleanup 函数 int WSACleanup (void); 应用程序在完成对请求的Socket库的使用后,要调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系统资源。

    1.2K20编辑于 2022-07-23
  • 14.8 Socket 一收一发通信

    , 10) == SOCKET_ERROR) { std::cout << "侦听套接字失败" << std::endl; closesocket(server_socket); WSACleanup :cout << "接收状态: " << flag << std::endl; closesocket(message_socket); closesocket(server_socket); WSACleanup SOCKET client_socket; if ((client_socket = socket(AF_INET, SOCK_STREAM, 0)) == SOCKET_ERROR) { WSACleanup (LPSOCKADDR)&ClientAddr, sizeof(ClientAddr)) == SOCKET_ERROR) { closesocket(client_socket); WSACleanup cout << "响应数据: " << response_buffer.command_string_a << std::endl; } closesocket(client_socket); WSACleanup

    47520编辑于 2023-10-16
  • 来自专栏MasiMaro 的技术博文

    socket模型处理多个客户端

    srvAddr, sizeof(SOCKADDR))) { cout << "绑定失败,错误码为:" << WSAGetLastError() << endl; WSACleanup == listen(sockListen, 5)) { cout << "侦听失败,错误码为:" << WSAGetLastError() << endl; WSACleanup WSAGetLastError() << endl; closesocket(sockConn); closesocket(sockListen); WSACleanup AcceptThread, &sockConn, 0, &g_nAcceptID); } WaitForSingleObject(g_hAccpetThread, INFINITE); WSACleanup

    2.1K20发布于 2018-08-31
  • 来自专栏Eureka的技术时光轴

    使用socket实现TCP和UDP传输

    socket -> 3.初始化端口和ip地址调用bind进行绑定 -> 4.调用listen进行监听 -> 5.调用accept接收客户端的请求 -> 6.调用recv和send与客户端进行通信 -> 7.调用WSACleanup if (SOCKET_ERROR == ret) { printf("socket bind failed\n"); WSACleanup (SOCKET_ERROR == ret) { printf("socket listen failed\n"); WSACleanup 0); } closesocket(sServer); //关闭网络环境和socket WSACleanup 声明如下: int WSACleanup (void); int closesocket( SOCKET

    1.9K20发布于 2019-09-03
  • 来自专栏网络编程

    Windows下C++/C简单的多线程网络编程SOCKET聊天服务端实现

    , sizeof(SOCKADDR_IN)) == SOCKET_ERROR){std::cerr << "绑定端口号失败" << std::endl;closesocket(sockServer);WSACleanup sockServer, SOMAXCONN) == SOCKET_ERROR){std::cerr << "监听端口号失败" << std::endl;closesocket(sockServer);WSACleanup cliIp, cliPort);});t.detach();}else{std::cerr << "接收客户端连接失败" << std::endl;}}closesocket(sockServer);WSACleanup , sizeof(SOCKADDR_IN)) == SOCKET_ERROR){std::cerr << "绑定端口号失败" << std::endl;closesocket(sockServer);WSACleanup sockServer, SOMAXCONN) == SOCKET_ERROR){std::cerr << "监听端口号失败" << std::endl;closesocket(sockServer);WSACleanup

    1.6K11编辑于 2024-07-08
  • 来自专栏全栈程序员必看

    WSAStartup函数

    WSADATA v_wsa_data; int ret = WSAStartup(MAKEWORD(2,2), &v_wsa_data); std::cout<<ret<<std::endl; WSACleanup 用完后使用WSACleanup清理相关信息. 依赖: 头文件<windows.h> lib文件:ws2_32.lib 函数作用: 在windows套接字编程中,使用该函数加载winsock库.

    37330编辑于 2022-07-22
领券