博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP-socket
阅读量:4149 次
发布时间:2019-05-25

本文共 2403 字,大约阅读时间需要 8 分钟。

服务器端代码:

EetTcpServer.cpp

// EetTcpServer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#pragma comment(lib,"ws2_32.lib")void main(int argc, char* argv[]){	//加载套接字库	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);        //创建socket	//地址信息	SOCKADDR_IN addrSrv;	addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);      //IP地址	addrSrv.sin_family=AF_INET;						     //地址族	addrSrv.sin_port=htons(4000);					     //端口号	//绑定套接字	bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));  //将套接字和IP及端口绑定	//将套接字设为监听模式,准备接收客户请求	listen(sockSrv,5);									 //监听listen	SOCKADDR_IN addrClient;	int len=sizeof(SOCKADDR);	while(1)	{		//等待客户请求到来		SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);  //接受accept		char sendBuf[320*240*2];		sprintf(sendBuf,"Welcome %s to 图像数据服务器",inet_ntoa(addrClient.sin_addr));				//发送数据		send(sockConn,sendBuf,strlen(sendBuf)+1,0);		//接收数据		char recvBuf[100];			recv(sockConn,recvBuf,100,0);		//打印数据		printf("%s\n",recvBuf);		//关闭套接字		closesocket(sockConn);	}}
客户端代码

EetTcpClient.cpp

// EetTcpClient.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#pragma comment(lib,"ws2_32.lib")void main(int argc, char* argv[]){	//加载套接字	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 sockClient=socket(AF_INET,SOCK_STREAM,0);		  //创建socket	//地址信息	SOCKADDR_IN addrSrv;	addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");	  //服务器IP	addrSrv.sin_family=AF_INET;								  //地址族	addrSrv.sin_port=htons(4000);							  //服务器端口号				//向服务器发出连接请求		connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); //连接connect	int i=1;	while(1)	{		//接收数据		char recvBuf[320*240*2];		recv(sockClient,recvBuf,strlen(recvBuf),0);               //接收recv		printf("%s\n",recvBuf);		send(sockClient,"我叫ahuang1900",strlen("我叫ahuang1900")+1,0);    //发送send		if(i++ >100000)		{			break;		}	}	//关闭套接字	closesocket(sockClient);                                  //关闭closesocket		WSACleanup();}
运行结果

服务器端:

客户端:

你可能感兴趣的文章
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
异常 Java学习Day_15
查看>>
Mysql初始化的命令
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>