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

winsock 服务器代码(不建议win服务器listen防火墙会禁止外部访问的)的更多相关文章

  1. NodeJS服务器:一行代码 = 一个的HTTP服务器

    从这一篇开始,我们进入技术讲解的话题,逐步实现用NodeJS实现文件的传送共享服务. 前文我们讲过,NodeJS是最擅长做网络服务器的,今天我们就来用NodeJS做一个最简单的服务器. 先看一幅图: ...

  2. [TLSR8266] 1、搭建tlsr8266编译框架在win服务器中

    前言 泰凌微TLSR8266蓝牙芯片的开发环境在win桌面系统中搭建起来比较简单,在其论坛SDK版块->Telink IDE中可以找到安装包,直接安装即可生成基于Eclipse的开发环境,及相关 ...

  3. PyCharm 配置远程python解释器和在本地修改服务器代码

    PyCharm 配置远程python解释器和在本地修改服务器代码 最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行.之前的做法一直是先在本地写好代码,然后通过F ...

  4. 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  5. win服务器 文件上传下载出现“未指定的错误” 解决方法汇总

    环境 WIN平台IIS服务器   经常出现于ASPX页面 汇总 1.权限问题 出现场景 : 基于ACCESS数据库   原因解析 : 1.首先需要排除自身问题,例如建表使用关键字,格式错误,插入数据与 ...

  6. jenkins自动部署代码到多台服务器

    下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...

  7. Git学习:利用Git和TortoiseGit把代码传输到网络服务器

    版本控制这块,一直用SVN.感觉挺好用,比VSS要好用些.不过,近期在网上,又谈到时下很流行的Git.就想看看Git到底是何方神圣.趁着五一在家无事,就静下心来,简单研究一下. 当下,网络上提供的基于 ...

  8. phpstorm-----实现实时编辑服务器代码

    phpstorm是一款功能强大.广大码农钟爱的编辑器,也是我最常用的编辑器.这里介绍一个偷懒的功能. 用sftp协议与远程服务器相连接,实现直接编辑服务器代码的功能.而效果就是ctrl+s不仅可以保存 ...

  9. 代码实现PHP web服务器下绝对路径到Web网址的转换

    代码实现PHP web服务器下绝对路径到Web网址的转换 代码中用到几个系统变量或常量: 1. 路径中各目录分隔字符 DIRECTORY_SEPARATOR(常量),Windows下DIRECTORY ...

随机推荐

  1. PAT_A1124#Raffle for Weibo Followers

    Source: PAT A1124 Raffle for Weibo Followers (20 分) Description: John got a full mark on PAT. He was ...

  2. jquery 临时存值

    function toSort(orderBy) { if (orderBy == $('#orderBy').data("order")) {// 再次点击同一个排序时 $('# ...

  3. python中字符串输出格式

    print输入格式总结 通过使用ljust(),center(),rjust()函数来实现输入字符串的左右对齐,居中,右对齐等操作; 方法一:(函数不带参数,则默认以空格填充,注意:文字与空格总字符数 ...

  4. nginx新增简单下载站点

    配置nginx server { autoindex on;# 显示目录 autoindex_exact_size on;# 显示文件大小 autoindex_localtime on;# 显示文件时 ...

  5. 5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)

    5.如何快速找到多个字典中的公共键(key) from random import randint,sample #随机取数 # a = sample("ABCDEF",randi ...

  6. 【转】console.dir()和console.log()的区别

    原文链接:https://blog.csdn.net/ky1in93/article/details/80828499 console对象详解:https://segmentfault.com/a/1 ...

  7. Ubuntu下搭建NFS,并在开发板挂载

    ---恢复内容开始--- zai root huanjingxiachaozhuo $ su 一.搭建NFS 1.执行命令:sudo apt-get install nfs-kernel-server ...

  8. Center OS 7安装 Apollo

    声明: 每个人的情况都不一样,所以大家在看教程的时候自行斟酌,最好先扫一遍,再来根据自身情况进行操作.同时,遇到的问题也可能不尽相同,要灵活处理. 了解: Apollo是从原始ActiveMQ的基础构 ...

  9. ubuntu phpize 安裝

    php 版本 7.2,所以安裝 php7.2的 sudo apt-get install php7.2-dev 參考 Is is possible to install phpize for PHP7 ...

  10. 【PKUWC2018】猎人杀

    题目描述 题目分析 设\(W=\sum\limits_{i=1}^nw_i\),\(A=\sum\limits_{i=1}^nw_i[i\ is\ alive]\),\(P_i\)为下一个打中\(i\ ...