服务端

setlocale(LC_ALL,"Chinese-simplified");
 WORD wVersionRequested;
 WSADATA wsaData;
 int err;

wVersionRequested  = MAKEWORD(1,1);
 err = WSAStartup(wVersionRequested,&wsaData);
 if(err !=0 )
 {
  return;
 }
 if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion) !=1)
 {
  WSACleanup();
  return;
 }
 SOCKET sockSrv = socket(AF_INET,SOCK_STREAM,0);
 if (INVALID_SOCKET == sockSrv)
 {
  return;
 }
 SOCKADDR_IN addrsrv;
 addrsrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
 addrsrv.sin_family = AF_INET;
 addrsrv.sin_port = htons(6000);

if(SOCKET_ERROR ==bind(sockSrv,(SOCKADDR*)&addrsrv,sizeof(SOCKADDR)))
 {
  return;
 }
 listen(sockSrv,5);

SOCKADDR_IN addrClient;
 int len = sizeof(SOCKADDR);
 while(1)
 {
  SOCKET sockConn =  accept(sockSrv,(SOCKADDR*)&addrClient,&len);
  /*const int iBufferSize = 1024;
  char recvBuf[iBufferSize]={0};
  memset(recvBuf,0,iBufferSize);*/
  const int iBufferSize = 1024;
  char recvBuf[iBufferSize];
  recv(sockConn,recvBuf,iBufferSize,0);
        RequestStruct  rs;
  memset( &rs,0,sizeof(rs));
  memcpy( &rs, recvBuf, sizeof(recvBuf) );
  client_OnStringData(rs);
 }

客户端:

WORD wVersionRequested;
 WSADATA wsaData;
 int err;

wVersionRequested  = MAKEWORD(1,1);
 err = WSAStartup(wVersionRequested,&wsaData);
 if(err !=0 )
 {
  return;
 }
 if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion) !=1)
 {
  WSACleanup();
  return;
 }
 m_sockClient = socket(AF_INET,SOCK_STREAM,0);
 
 SOCKADDR_IN addrsrv;
 addrsrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
 addrsrv.sin_family = AF_INET;
 addrsrv.sin_port = htons(6000);
 
 connect(m_sockClient,(SOCKADDR*)&addrsrv,sizeof(SOCKADDR));
 {
  /*memcpy( rs.QueType, "MSG_CU_VIDEO_REQ", sizeof("MSG_CU_VIDEO_REQ") );
  send(m_sockClient,(char *)&rs,sizeof(RequestStruct),0);*/
  send(m_sockClient,(char *)m_requestStruct,sizeof(RequestStruct),0);
  
  /*RequestStruct  *rs;
  memcpy( rs.QueType, "MSG_CU_VIDEO_REQ", sizeof("MSG_CU_VIDEO_REQ") );
  send(m_sockClient,(char *)&rs,sizeof(RequestStruct),0);*/
 }

C++ socket开发1的更多相关文章

  1. IOS socket开发基础

    摘要 详细介绍了iOS的socket开发,说明了tcp和udp的区别,简单说明了tcp的三次握手四次挥手,用c语言分别实现了TCPsocket和UDPsocket的客户端和服务端,本文的作用是让我们了 ...

  2. Android Socket 开发技术

    根据之前的经验,应用软件的网络通信无非就是Socket和HTTP,其中Socket又可以用TCP和UDP,HTTP的话就衍生出很多方式,基础的HTTP GET和POST请求,然后就是WebServic ...

  3. Socket开发

    Socket开发框架之消息的回调处理 伍华聪 2016-03-31 20:16 阅读:152 评论:0     Socket开发框架之数据加密及完整性检查 伍华聪 2016-03-29 22:39 阅 ...

  4. 练习题|网络编程-socket开发

    1.什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构的软件,实现服务端软件与客户端软件基于网络通信. 2.互联网协议是什么?分别介绍五层协议中每一 ...

  5. socket 开发 - 那些年用过的基础 API

    ---------------------------------------------------------------------------------------------------- ...

  6. 网络编程-socket开发

    练习: 1.什么是C/S架构? 2.互联网协议是什么?分别介绍五层协议中每一层的功能? 3.基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 4.为何基于tcp协议的通信比基于u ...

  7. andriod socket开发问题小结

    andriod socket开发问题小结 个人信息:就读于燕大本科软件project专业 眼下大四; 本人博客:google搜索"cqs_2012"就可以; 个人爱好:酷爱数据结构 ...

  8. c socket 开发测试

    c语言异常 参照他人代码写一个tcp的 socket 开发测试 异常A,在mac osx系统下编译失败,缺库转到debian下. 异常B,include引用文件顺序不对,编译大遍异常 异常C,/usr ...

  9. 一篇看懂Socket开发

    Socket[套接字]是什么,对于这个问题,初次接触的开发人员一般以为他只是一个通讯工具. Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发 T ...

  10. 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

    上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...

随机推荐

  1. 读《CSS禅意花园》 有感

    1.图片用<img>标签添加到页面中,会增加页面的大小,导致页面加载需要更长的时间.可以用css background 引用图片. 1.1.若图像属于“内容”而不是“样式”的一部分,例如“ ...

  2. SSE求解向量大小

    float f=; __asm { mov esi, this ; vector u movups xmm0, [esi] ; first vector in xmm0 mulps xmm0, xmm ...

  3. S3C2440触摸屏驱动实例开发讲解

    出处:http://www.embeddedlinux.org.cn/html/yingjianqudong/ 一.开发环境 主  机:VMWare--Fedora 9 开发板:Mini2440--6 ...

  4. Sublime Text 2使用心得

    一个比较详细的文章:http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html 一. 前言 作为一个前端,有一款好的开发利器是必 ...

  5. Android 画直线并实现拖动

    自定义View,在onDraw()方法中绘制一条直线,在onTouch()方法中监听手指的移动. public class AroundDragView extends View implements ...

  6. CodeForces 540E - Gerald and Giant Chess(数论)

    给一个棋盘,需要从左上角走到右下角,有部分点不能走,求一共有多少种走法. 首先要知道从一个点A到另一个点B在没有障碍下有多少种走法.保证A在B的左上方,如图 一共需要走(X+Y)步(图中△x,△y), ...

  7. poj1087 A Plug for UNIX & poj1459 Power Network (最大流)

    读题比做题难系列…… poj1087 输入n,代表插座个数,接下来分别输入n个插座,字母表示.把插座看做最大流源点,连接到一个点做最大源点,流量为1. 输入m,代表电器个数,接下来分别输入m个电器,字 ...

  8. Modelsim初级使用教程

    来源 http://blog.sina.com.cn/s/blog_6c7b6f030101ctlh.html 一. Modelsim简介 Modelsim仿真工具是Model公司开发的.它支持Ver ...

  9. 【转】C++的继承与多态:为什么需要虚函数

    转自:http://www.educity.cn/zk/gjyy/201306271108011682.htm 多态性是面向对象设计语言的基本特征.仅仅是将数据和函数捆绑在一起,进行类的封装,使用一些 ...

  10. 赵雅智:js知识点汇总

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhemhpMjEyOQ==/font/5a6L5L2T/fontsize/400/fill/I0 ...