用C或者C++语言实现SOCKET通信


Posted in 面试题 onFebruary 24, 2015
#include
#include
void main()
{
WORDwVersionRequested;
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);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5);
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
char sendBuf[100];
sprint(sendBuf,”Welcome %s to http://www.sunxin.org“,
inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf);
printf(“%s\n”,recvBuf);
closesocket(sockConn);
WSACleanup();
}
}
注:这是Server端;File->New->Win32 Console Application,工程名:TcpSrv;然后,File->New->C++ Source File,文件名:TcpSrv;在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib
#include
#include
void main()
{
WORDwVersionRequested;
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 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_porthtons(6000);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
char recvBuf[100];
recv(sockClient,recvBuf,100,0);
printf(“%s\n”,recvBuf);
send(sockClient,”This is zhangsan”,strlen(“This is zhangsan”)+1,0);
closesocket(sockClient);
WSACleanup();
}
注:这是Client端;File->New->Win32 Console Application,工程名:TcpClient;然后,File->New->C++ Source File,文件名:TcpClient;同理,在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib

Tags in this post...

面试题 相关文章推荐
Yahoo-PHP面试题1
Jul 20 面试题
如何让Java程序执行效率更高
Jun 25 面试题
介绍Java的内部类
Oct 27 面试题
新电JAVA笔试题目
Aug 31 面试题
北承题目(C++)
May 16 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
Nov 26 面试题
汇智创新科技发展有限公司
Dec 06 面试题
介绍一下SQL注入攻击的种类和防范手段
Feb 18 面试题
2019史上最全Database工程师题库
Dec 06 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
常用UNIX 命令(Linux的常用命令)
Dec 26 面试题
Unix如何在一行中运行多个命令
May 29 面试题
写出一个方法实现冒泡排序
Jul 08 #面试题
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
Apr 15 #面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 #面试题
递归计算如下递归函数的值(斐波拉契)
Feb 04 #面试题
写出二分查找算法的两种实现
May 13 #面试题
编写类String的构造函数、析构函数和赋值函数
May 29 #面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 #面试题
You might like
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
phpfpm的作用和用法
2019/10/10 PHP
解javascript 混淆加密收藏
2009/01/16 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
JavaScript事件对象深入详解
2018/12/30 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
python统计文本文件内单词数量的方法
2015/05/30 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
python的faker库用法
2019/11/28 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
HTML5 Canvas——用路径描画线条实例介绍
2013/06/09 HTML / CSS
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
怎样有效的进行自我评价
2013/10/06 职场文书
商场总经理岗位职责
2014/02/03 职场文书
班组拓展活动方案
2014/08/14 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
五年级学生期末评语
2014/12/26 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书