博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
阅读量:5046 次
发布时间:2019-06-12

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

聊天室

一.客户端发送

用MFC可视化做个客户端登录界面。

 

 

 

 

 

 

 

先点击注册账号按钮,注册账号的时候就需要连接到服务器,

服务器需要查数据库,并做出相应的回应。

所以开始写C++客户端套接口类用来连接到服务器。

demosocket.cpp文件

#include "pch.h" #include 
#include "DemoSocket.h" ​ ​ // 构造函数,用于执行初始化和套接字的创建 DemoSocket::DemoSocket() { // 0. 使用必须的结构体 WSAData WsaData = { 0 }; // 1. 初始化网络环境并请求指定版本 if (WSAStartup(MAKEWORD(2, 2), &WsaData)) { MessageBox(NULL, L"网络环境初始化失败!", L"错误", MB_OK | MB_ICONERROR); ExitProcess(0); } // 2. 判断版本信息是否匹配 if (MAKEWORD(2,2) != WsaData.wVersion) { MessageBox(NULL, L"套接字版本不匹配!", L"错误", MB_OK | MB_ICONERROR); ExitProcess(0); } // 3. 创建一个套接字 ClientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (ClientSocket == INVALID_SOCKET) { MessageBox(NULL, L"创建套接字失败!", L"错误", MB_OK | MB_ICONERROR); ExitProcess(0); } } // 析构函数,主要用于清理网络环境和释放套接字 DemoSocket::~DemoSocket() { // 清理网络环境和释放套接字 closesocket(ClientSocket); WSACleanup(); // 结束接收线程并关闭内核对象句柄 } // 用于设置对应的主窗口 void DemoSocket::SetMainWnd(CDialogEx* MainDialog) { // 主窗口对象主要用于获取主窗口的句柄,并发送数据 this->MainWnd = MainDialog; } // 用于连接到对应的服务器 void DemoSocket::Connect(LPCSTR Ip, u_short Port) { // 1. 使用传入的 Ip 和 Port 填充结构体 sockaddr_in ServerAddr = { AF_INET }; ServerAddr.sin_port = htons(Port); inet_pton(AF_INET, Ip, &ServerAddr.sin_addr); // 2. 调用 connect 连接到服务器 if (SOCKET_ERROR == connect(ClientSocket, (sockaddr*)& ServerAddr, sizeof(ServerAddr)))

转载于:https://www.cnblogs.com/ltyandy/p/11031474.html

你可能感兴趣的文章
Android实现 ScrollView + ListView无滚动条滚动
查看>>
Swift 中的指针使用
查看>>
Swift - 使用闭包筛选过滤数据元素
查看>>
alue of type java.lang.String cannot be converted to JSONObject
查看>>
搜索引擎选择: Elasticsearch与Solr
查看>>
JAVA设计模式之简单工厂模式与工厂方法模式
查看>>
③面向对象程序设计——封装
查看>>
【19】AngularJS 应用
查看>>
Spring
查看>>
Linux 系统的/var目录
查看>>
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>
hostname
查看>>
SpringBoot使用其他的Servlet容器
查看>>
关于cookie存取中文乱码问题
查看>>
k8s架构
查看>>
select 向上弹起
查看>>
mysql 多表管理修改
查看>>