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

面试题 相关文章推荐
PHP如何自定义函数
Sep 16 面试题
普通PHP程序员笔试题
Jan 01 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 面试题
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
Aug 17 面试题
经典c++面试题五
Dec 17 面试题
如何转换一个字符串到enum值
Apr 12 面试题
了解AppleShare protocol(AppleShare协议)吗
Aug 28 面试题
维德科技C#面试题笔试题
Dec 09 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 面试题
EJB2和EJB3在架构上的不同点
Sep 29 面试题
Java中会存在内存泄漏吗,请简单描述
Dec 22 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
写出一个方法实现冒泡排序
Jul 08 #面试题
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
Apr 15 #面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 #面试题
递归计算如下递归函数的值(斐波拉契)
Feb 04 #面试题
写出二分查找算法的两种实现
May 13 #面试题
编写类String的构造函数、析构函数和赋值函数
May 29 #面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 #面试题
You might like
PHP安装全攻略:APACHE
2006/10/09 PHP
关于php连接mssql:pdo odbc sql server
2011/07/20 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Python列表list操作相关知识小结
2020/01/29 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
什么是唯一索引
2015/07/05 面试题
2014年乡镇党建工作总结
2014/11/11 职场文书
新闻稿格式范文
2015/07/18 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
python双向链表实例详解
2022/05/25 Python