• 大小: 15.92MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-14
  • 语言: C/C++
  • 标签:

资源简介

有一个服务器与客户端,两者可以通话。VC++环境下可以直接运行。

资源截图

代码片段和文件信息

#pragma comment(lib“ws2_32.lib“)
#include 
#include 
#include 
//定义与主机连接的端口
#define PORT 8888
//定义最大传输数据量
#define MAXDATA 100
//由入口函数得到需要连接主机的IP地址
int main(int ars char** arg)
{
//开启windows的socket
WSADATA wsaData;
WSAStartup(0x101 &wsaData);

//定义服务器
struct sockaddr_in serveraddr;
//将serveraddr清零
memset((void*)&serveraddr 0 sizeof(serveraddr));
//定义家族协议
serveraddr.sin_family = AF_INET;
//得到主机IP地址
serveraddr.sin_addr.s_addr = inet_addr(“127.0.0.1“);
//得到端口
serveraddr.sin_port = htons(PORT);
//得到socket嵌套字
SOCKET s = socket(AF_INET SOCK_STREAM 0);
/*
*建立TCP连接
*参数1:socket返回的描述符
*参数2:主机IP地址和端口号指针
*参数3:远端地质借口长度
*/
if (connect(s (struct sockaddr*)&serveraddr sizeof(serveraddr)) == -1)
{
perror(“连接错误!“);
exit(1);
}
//进入监听服务器发送消息,采取异步通信
while (1)
{
//初始化接收和发送数据的存储
char receiveBuffer[MAXDATA] = “\n“;
char sendBuffer[MAXDATA] = “\n“;
//定发送模式
bool sendFlag = false;
//如果接收数据位-1则接收错误,正确是recv返回接收到数据的长度
if (recv(s receiveBuffer MAXDATA 0) == -1)
{
perror(“接收数据错误!“);
exit(1);
}

printf(“server %s send message: %s\n“ inet_ntoa(serveraddr.sin_addr) receiveBuffer);
//发送模式
sendFlag = true;
while (sendFlag)
{
char* CloseClient = “bye“;
char* CloseC_S = “byebye“;
//得到输入的数据
printf(“Your Message  :“);
scanf(“%s“ sendBuffer);
if (strcmp(sendBuffer CloseClient) == 0)
{
send(s CloseClient strlen(CloseClient) 0);

closesocket(s);
exit(1);
}
else{
//得到发送数据的长度
int sendLen = send(s sendBuffer strlen(sendBuffer) 0);
//发送数据长度为-1时,发送失败
if (sendLen == -1)
{
perror(“发送错误!“);
closesocket(s);
}
}
//发送模式结束,进入接收模式
sendFlag = false;
}


}
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4084  2015-05-21 16:44  Client2\Client2\Client2.vcxproj

     文件        944  2015-05-21 16:43  Client2\Client2\Client2.vcxproj.filters

     文件       1501  2015-05-21 19:17  Client2\Client2\Debug\Client2.log

     文件        550  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\cl.command.1.tlog

     文件      21786  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\CL.read.1.tlog

     文件        288  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\CL.write.1.tlog

     文件        151  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\Client2.lastbuildstate

     文件        962  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\link.command.1.tlog

     文件       2276  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\link.read.1.tlog

     文件        272  2015-05-21 19:17  Client2\Client2\Debug\Client2.tlog\link.write.1.tlog

     文件     781312  2015-05-21 19:17  Client2\Client2\Debug\vc120.idb

     文件     421888  2015-05-21 19:17  Client2\Client2\Debug\vc120.pdb

     文件      33109  2015-05-21 19:17  Client2\Client2\Debug\源.obj

     文件       2051  2015-05-21 20:55  Client2\Client2\源.cpp

     文件   37486592  2015-05-21 21:05  Client2\Client2.sdf

     文件        967  2015-05-21 16:42  Client2\Client2.sln

    ..A..H.     22016  2015-05-21 21:05  Client2\Client2.v12.suo

     文件      32256  2015-05-21 19:17  Client2\Debug\Client2.exe

     文件     256092  2015-05-21 19:17  Client2\Debug\Client2.ilk

     文件    1142784  2015-05-21 19:17  Client2\Debug\Client2.pdb

     文件      33280  2015-05-21 17:56  Server2\Debug\Server2.exe

     文件     262900  2015-05-21 17:56  Server2\Debug\Server2.ilk

     文件    1142784  2015-05-21 17:56  Server2\Debug\Server2.pdb

     文件       1225  2015-05-21 17:56  Server2\Server2\Debug\Server2.log

     文件        604  2015-05-21 17:56  Server2\Server2\Debug\Server2.tlog\cl.command.1.tlog

     文件      21732  2015-05-21 17:56  Server2\Server2\Debug\Server2.tlog\CL.read.1.tlog

     文件        288  2015-05-21 17:56  Server2\Server2\Debug\Server2.tlog\CL.write.1.tlog

     文件        962  2015-05-21 17:56  Server2\Server2\Debug\Server2.tlog\link.command.1.tlog

     文件       2484  2015-05-21 17:56  Server2\Server2\Debug\Server2.tlog\link.read.1.tlog

     文件        272  2015-05-21 17:56  Server2\Server2\Debug\Server2.tlog\link.write.1.tlog

............此处省略23个文件信息

评论

共有 条评论