用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...

面试题 相关文章推荐
我的applet原先好好的, 一放到web server就会有问题,为什么?
May 10 面试题
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
Jun 11 面试题
C语言笔试题
Sep 04 面试题
利用异或运算实现两个无符号数的加法运算
Dec 20 面试题
.NET方向面试题
Nov 20 面试题
通用C#笔试题附答案
Nov 26 面试题
Linux不知道文件后缀名怎么判断文件类型
Aug 21 面试题
介绍一下如何优化MySql
Dec 20 面试题
如何提高MySql的安全性
Jun 19 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
final, finally, finalize的区别
Mar 01 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
写出一个方法实现冒泡排序
Jul 08 #面试题
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
Apr 15 #面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 #面试题
递归计算如下递归函数的值(斐波拉契)
Feb 04 #面试题
写出二分查找算法的两种实现
May 13 #面试题
编写类String的构造函数、析构函数和赋值函数
May 29 #面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 #面试题
You might like
php三种实现多线程类似的方法
2015/10/30 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
VueJs组件prop验证简单介绍
2017/09/12 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
python实现多线程行情抓取工具的方法
2018/02/28 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
python Scrapy框架原理解析
2021/01/04 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
即兴演讲稿
2014/01/04 职场文书
超市端午节活动方案
2014/01/23 职场文书
活动策划邀请函
2014/02/06 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
2015年教研工作总结
2015/05/23 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
2016年教师节慰问信
2015/12/01 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书