• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: C/C++
  • 标签: socket  tcp通讯  c++.net  

资源简介

一个简单的socket通讯程序, 包括服务端和客户端程序。建立客户端和客户端c++空项目,分别添加socketClient.cpp和sockServer.cpp, 根据注释配置,编译生成后就可以执行。客户端程序在visual studio 2015和2013上编译通过,服务端程序在visual studio 2015和2008上编译通过。网上的一些程序在编译时会出错,或者运行时会中断,希望这个程序对你会有所帮助。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include “Ws2tcpip.h“

using namespace std;
#pragma comment(lib “ws2_32.lib“)

//visual studio 2015上通过
int main(int argc char* argv[])
{
/*设置服务端的IP与Port*/
char * serverip = “192.168.50.216“;
int svrport = 5099;
WORD sockVersion = MAKEWORD(2 2);
WSADATA data;

/*Windows Sockets Asynchronous的启动命令*/
if (WSAStartup(sockVersion &data) != 0)
{
return 0;
}

/*设定服务器地址 退出时输入exit*/
in_addr ipv4addr;
InetPton(AF_INET serverip &ipv4addr);
sockaddr_in serAddr;
serAddr.sin_family = AF_INET;
serAddr.sin_addr = ipv4addr;
serAddr.sin_port = htons(svrport);
//serAddr.sin_addr.S_un.S_addr = inet_addr(serverip);
while (true) {
SOCKET sclient;
string str;
int count = 0;
int ret = 0;
char recData[255];
/*接收用户输入信息*/
printf(“input your message: “);
getline(cin str);
if (str.length() == 0) {
continue;
}
/*exit就退出*/
if (str.compare(“exit“) == 0) break;

/*获得socket通道*/
sclient = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
if (sclient == INVALID_SOCKET)
{
printf(“invalid socket!\n“);
continue;
}
/*连接*/
if (connect(sclient (sockaddr *)&serAddr sizeof(serAddr)) == SOCKET_ERROR)
{  /*连接失败*/
printf(“connect error !\n“);
closesocket(sclient);
continue;
}

/*发送到服务端*/
const char * sendData = str.data();
count = send(sclient sendData strlen(sendData) 0);
if (count == -1) {
printf(“send data error。\n“);
}

/*接收服务端的输出*/
ret = recv(sclient recData 255 0);
if (ret>0) {
recData[ret] = 0x00;
printf(“received: “);
printf(recData);
printf(“\n“);
}
}
/*终止Winsock 2 DLL (Ws2_32.dll)*/
WSACleanup();
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2258  2017-05-11 09:15  socketServer.cpp
     文件        1826  2017-05-11 09:12  socketClient.cpp

评论

共有 条评论