博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winsock 服务器代码(不建议win服务器listen防火墙会禁止外部访问的)
阅读量:5166 次
发布时间:2019-06-13

本文共 1444 字,大约阅读时间需要 4 分钟。

1 int SessionBase::ServerSock() 2 { 3    /* 4     *    WSADATA是个结构体,在WSAStartup中被填充. 5     *    WSAStartup为调用WinSock准备初始化的工作. 6     *    第一个参数指定编程使用的WinSock规范的最高版本号. 7     *    WSAStartup成功返回0.失败则程序退出. 8     */ 9     WSADATA wsaData; 10     if((WSAStartup(0x101,&wsaData)) != 0)11     {12         return 0;13     }14          SOCKET clientSock;       SOCKET serverSock;15     sockaddr_in local;16     sockaddr_in from;17     int fromlen=sizeof(from);18 19     local.sin_family      = AF_INET;20     local.sin_addr.s_addr = inet_addr( m_strPorxyAddr.c_str() );21     local.sin_port        = htons( m_ProxyPort );22 23     if((socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)24     {25         return 0;26     }27 28     if(bind(serverSock,(sockaddr*)&local,sizeof(local))!=0)29     {30         return 0;31     }32 33     if(listen(serverSock,10)!=0)            /*    backlog表示最大的连接数 */34     {35         return 0;36     }37 38     while(TRUE)39     {40         char temp[2048];41 42         clientSock=accept(serverSock,(struct sockaddr*)&from,&fromlen);43         logger.writeLog("SessionBase  Server socket accept client IP:[%s],port:[%d]",inet_ntoa(from.sin_addr),ntohs(from.sin_port));44 45         send(clientSock,temp,strlen(temp),0);46 47         closesocket(clientSock);48     }49     closesocket(serverSock);50 51     WSACleanup();        /* 确保进程不再使用WS2_32.DLL */52     return 0;53 }

 

转载于:https://www.cnblogs.com/renweihang/p/9525267.html

你可能感兴趣的文章
vue实战(7):完整开发登录页面(一)
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>
.net 分布式架构之分布式锁实现(转)
查看>>
吴恩达机器学习笔记 —— 3 线性回归回顾
查看>>
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>
微信公众平台开发实战Java版之如何网页授权获取用户基本信息
查看>>
一周TDD小结
查看>>
sizeof与strlen的用法
查看>>
Linux 下常见目录及其功能
查看>>
开源框架中常用的php函数
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
set&map
查看>>
集合类总结
查看>>
4.AE中的缩放,书签
查看>>
CVE-2014-6321 && MS14-066 Microsoft Schannel Remote Code Execution Vulnerability Analysis
查看>>