小职
2018-07-05
来源 :
阅读 2115
评论 0
摘要:本文主要向大家介绍了VC++编程技术:vc++实现的tcpsocket客户端和服务端示例,通过具体的内容向大家展示,希望对大家学习VC++编程技术有所帮助。
本文主要向大家介绍了VC++编程技术:vc++实现的tcpsocket客户端和服务端示例,通过具体的内容向大家展示,希望对大家学习VC++编程技术有所帮助。
Tcp Server
复制代码代码如下:
#include <WinSock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
// initial socket library
WORD wVerisonRequested;
WSADATA wsaData;
int err;
wVerisonRequested = MAKEWORD(1, 1);
err = WSAStartup(wVerisonRequested, &wsaData);
if (err != 0)
{
return -1;
}
//if (LOBYTE(wsaData.wVersion) != 1 ||
// HIBYTE(wsaData.wHighVersion) != 1)
//{
// WSACleanup();
// return -1;
//}
// create socket
SOCKET sockServer = socket(AF_INET, SOCK_STREAM, 0);
// bind socket
SOCKADDR_IN addrServer;
addrServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(6000);
bind(sockServer, (SOCKADDR *)&addrServer, sizeof(addrServer));
// listen
listen(sockServer, 5);
SOCKADDR_IN addrClient;
int len = sizeof(addrClient);
while(1)
{
// accept
SOCKET sockConnection = accept(sockServer, (SOCKADDR *)&addrClient, &len);
// send
char sendBuf[100];
sprintf(sendBuf, "Welcome %s", inet_ntoa(addrClient.sin_addr));
send(sockConnection, sendBuf, strlen(sendBuf)+1,0);
// receive
char recvBuf[100];
recv(sockConnection, recvBuf, 100, 0);
//
printf("%s", recvBuf);
// close connection socket
closesocket(sockConnection);
}
}
Tcp Client
复制代码代码如下:
#include <WinSock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
// initial socket library
WORD wVerisonRequested;
WSADATA wsaData;
int err;
wVerisonRequested = MAKEWORD(1, 1);
err = WSAStartup(wVerisonRequested, &wsaData);
if (err != 0)
{
return -1;
}
//if (LOBYTE(wsaData.wVersion) != 1 ||
// HIBYTE(wsaData.wHighVersion) != 1)
//{
// WSACleanup();
// return -1;
//}
// create socket
SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);
// connect server socket
SOCKADDR_IN addrServer;
addrServer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(6000);
connect(sockClient, (SOCKADDR *)&addrServer, sizeof(addrServer));
// receive
char recvBuf[100];
recv(sockClient, recvBuf, 100, 0);
//
printf("%s", recvBuf);
// send
char sendBuf[100] = "this is lisi\n";
send(sockClient, sendBuf, strlen(sendBuf)+1,0);
// close connection socket
closesocket(sockClient);
// clean socket library
WSACleanup();
}以上就介绍了VC/MFC的学习,希望对VC/MFC有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言VC/MFC频道!
喜欢 | 1
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号