C++ socket开发1
服务端
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的更多相关文章
- IOS socket开发基础
		摘要 详细介绍了iOS的socket开发,说明了tcp和udp的区别,简单说明了tcp的三次握手四次挥手,用c语言分别实现了TCPsocket和UDPsocket的客户端和服务端,本文的作用是让我们了 ... 
- Android Socket 开发技术
		根据之前的经验,应用软件的网络通信无非就是Socket和HTTP,其中Socket又可以用TCP和UDP,HTTP的话就衍生出很多方式,基础的HTTP GET和POST请求,然后就是WebServic ... 
- Socket开发
		Socket开发框架之消息的回调处理 伍华聪 2016-03-31 20:16 阅读:152 评论:0 Socket开发框架之数据加密及完整性检查 伍华聪 2016-03-29 22:39 阅 ... 
- 练习题|网络编程-socket开发
		1.什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构的软件,实现服务端软件与客户端软件基于网络通信. 2.互联网协议是什么?分别介绍五层协议中每一 ... 
- socket 开发 - 那些年用过的基础 API
		---------------------------------------------------------------------------------------------------- ... 
- 网络编程-socket开发
		练习: 1.什么是C/S架构? 2.互联网协议是什么?分别介绍五层协议中每一层的功能? 3.基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 4.为何基于tcp协议的通信比基于u ... 
- andriod socket开发问题小结
		andriod socket开发问题小结 个人信息:就读于燕大本科软件project专业 眼下大四; 本人博客:google搜索"cqs_2012"就可以; 个人爱好:酷爱数据结构 ... 
- c socket 开发测试
		c语言异常 参照他人代码写一个tcp的 socket 开发测试 异常A,在mac osx系统下编译失败,缺库转到debian下. 异常B,include引用文件顺序不对,编译大遍异常 异常C,/usr ... 
- 一篇看懂Socket开发
		Socket[套接字]是什么,对于这个问题,初次接触的开发人员一般以为他只是一个通讯工具. Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发 T ... 
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
		上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ... 
随机推荐
- POJ 2251 Dungeon Master (BFS最短路)
			三维空间里BFS最短路 #include <iostream> #include <cstdio> #include <cstring> #include < ... 
- Find longest contiguous sub array
			It's still an Amazon interview question. Given an array containing only stars '*' and hashes '#' . F ... 
- static与线程安全 -摘自网络
			在.Net中,Static会经常和线程的东西扯在一起.写的代码是不是线程安全呢?好多程序员都在想,不过,有时候随便就放过了.真正出问题的时候再想.其实,如果程序员一开始就明白这里面的机制,也许,编写的 ... 
- Codeforces Round #341 (Div. 2) ABCDE
			http://www.cnblogs.com/wenruo/p/5176375.html A. Wet Shark and Odd and Even 题意:输入n个数,选择其中任意个数,使和最大且为奇 ... 
- poj 2367 Genealogical tree (拓扑排序)
			火星人的血缘关系很奇怪,一个人可以有很多父亲,当然一个人也可以有很多孩子.有些时候分不清辈分会产生一些尴尬.所以写个程序来让n个人排序,长辈排在晚辈前面. 输入:N 代表n个人 1~n 接下来n行 第 ... 
- devexpress中gridcontrol 一些样式改变
			改变footer为扁平化效果 整个footer背景色CustomDrawFootere.Appearance.BackColor = Color.Transparent; e.Appearance.D ... 
- PC-IIS因为端口问题报错的解决方法
			1.我的电脑-管理-服务和应用程序-Internet信息服务 情况:这时发现“默认 SMTP 虚拟服务器”停止 解决方法:右击启动 情况:发现网页还是打不开.2.Internet信息服务-网站- ... 
- JQ限制输入字数,并提示剩余字数
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)
			MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ... 
- Android多线程研究(4)——从一道面试题说起
			有一道这种面试题:开启一个子线程和主线程同一时候运行,子线程输出10次后接着主线程输出100次,如此重复50次.先看以下代码: package com.maso.test; /** * * @auth ... 
