• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C/C++
  • 标签: c++网络编  

资源简介

c++网络编程之服务端,我的下载中还有对应的客户端例子,两者配合使用实现进程间通信

资源截图

代码片段和文件信息

#include  //windows socket的头文件
#include 
#include 
#include 
#include 
#include 

#pragma comment(lib “ws2_32.lib“) //连接winsock2.h的静态库文件

using namespace std;

mutex m;

//定义结构体用来设置
typedef struct my_file
{
SOCKET clientSocket; //文件内部包含了一个SOCKET 用于和客户端进行通信
sockaddr_in clientAddr; //用于保存客户端的socket地址
int id; //文件块的序号
}F;

DWORD WINAPI transmmit(const LPVOID arg)
{
//实际上这里为了追求并发性不应该加锁,上锁是为了方便看输出
m.lock();

F *temp = (F*)arg;
//获取文件的序号
//int file_id = temp->id;
//获取客户机的端口号
//ntohs(temp -> clientAddr.sin_port); 
cout << “测试开始等待客户端发送消息...“ << endl;
//从客户端处接受数据
char Buffer[MAXBYTE] = { 0 }; //缓冲区
recv(temp->clientSocket Buffer MAXBYTE 0); //recv方法 从客户端通过clientScocket接收
cout << “线程“ << temp->id << “从客户端的“ << ntohs(temp->clientAddr.sin_port) << “号端口收到:“ << Buffer << endl;

//发送简单的字符串到客户端
const char* s = “Server file“;
send(temp->clientSocket s strlen(s) * sizeof(char) + 1 NULL);
cout << “线程“ << temp->id << “通过客户端的“ << ntohs(temp->clientAddr.sin_port) << “号端口发送:“ << s << endl;

m.unlock();

return 0;
}



int main()
{
WSADATA wsaData;
//第一个参数是winsocket load的版本号(2.2)
WSAStartup(MAKEWORD(2 3

评论

共有 条评论