MFC基于TCP协议的CSocket类套接字客户端代码示范

2024-04-30 03:38

本文主要是介绍MFC基于TCP协议的CSocket类套接字客户端代码示范,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MFC基于TCP协议的CSocket类套接字客户端代码示范

源文件下载:

MFC_TCP_CSocket_Client.rar

关键代码:

//from txwtech
void CMFC_TCP_CSocket_ClientDlg::OnBnClickedButtonLogin()
{// TODO: 在此添加控件通知处理程序代码CString strIP, strPort;UINT port;m_ServerIP.GetWindowText(strIP);m_NickName.GetWindowText(m_Name);m_ServerPort.GetWindowText(strPort);if (strIP.IsEmpty() || strPort.IsEmpty() || m_Name.IsEmpty()){MessageBox("请设置服务器信息","提示");return;}port = atoi(strPort);if (m_SockClient.Connect(strIP, port))
//	if (1){MessageBox("服务器连接成功","提示");CString str;str.Format("%s----->%s",m_Name,"进入聊天室");m_SockClient.Send(str.GetBuffer(0),str.GetLength());}else{MessageBox("连接失败","提示");}
}void CMFC_TCP_CSocket_ClientDlg::OnBnClickedButtonSend()
{// TODO: 在此添加控件通知处理程序代码CString strText, strInfo;m_Text.GetWindowText(strText);if (!strText.IsEmpty() && !m_Name.IsEmpty()){strInfo.Format("%s说:%s",m_Name,strText);int len = m_SockClient.Send(strInfo.GetBuffer(strInfo.GetLength()),strInfo.GetLength());}
}

源文件下载:

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C3646 “m_SockClient”: 未知重写说明符 MFC_TCP_CSocket_Client c:\users\tt2018\documents\visual studio 2015\projects\mfc_tcp_csocket_client\mfc_tcp_csocket_client\mfc_tcp_csocket_clientdlg.h 38

 

不能在MFC_TCP_CSocket_ClientDlg.h中包含#include "ClientSocket.h"
只能在MFC_TCP_CSocket_ClientDlg.cpp中包含#include "ClientSocket.h" 

 

参考文档:
https://blog.csdn.net/greless/article/details/72763171

 

https://blog.csdn.net/txwtech/article/details/93380359

 

https://blog.csdn.net/txwtech

这篇关于MFC基于TCP协议的CSocket类套接字客户端代码示范的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947821

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

17.用300行代码手写初体验Spring V1.0版本

1.1.课程目标 1、了解看源码最有效的方式,先猜测后验证,不要一开始就去调试代码。 2、浓缩就是精华,用 300行最简洁的代码 提炼Spring的基本设计思想。 3、掌握Spring框架的基本脉络。 1.2.内容定位 1、 具有1年以上的SpringMVC使用经验。 2、 希望深入了解Spring源码的人群,对 Spring有一个整体的宏观感受。 3、 全程手写实现SpringM

代码随想录算法训练营:12/60

非科班学习算法day12 | LeetCode150:逆波兰表达式 ,Leetcode239: 滑动窗口最大值  目录 介绍 一、基础概念补充: 1.c++字符串转为数字 1. std::stoi, std::stol, std::stoll, std::stoul, std::stoull(最常用) 2. std::stringstream 3. std::atoi, std

记录AS混淆代码模板

开启混淆得先在build.gradle文件中把 minifyEnabled false改成true,以及shrinkResources true//去除无用的resource文件 这些是写在proguard-rules.pro文件内的 指定代码的压缩级别 -optimizationpasses 5 包明不混合大小写 -dontusemixedcaseclassnames 不去忽略非公共

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

麻了!一觉醒来,代码全挂了。。

作为⼀名程序员,相信大家平时都有代码托管的需求。 相信有不少同学或者团队都习惯把自己的代码托管到GitHub平台上。 但是GitHub大家知道,经常在访问速度这方面并不是很快,有时候因为网络问题甚至根本连网站都打不开了,所以导致使用体验并不友好。 经常一觉醒来,居然发现我竟然看不到我自己上传的代码了。。 那在国内,除了GitHub,另外还有一个比较常用的Gitee平台也可以用于

【杂记-浅谈DHCP动态主机配置协议】

DHCP动态主机配置协议 一、DHCP概述1、定义2、作用3、报文类型 二、DHCP的工作原理三、DHCP服务器的配置和管理 一、DHCP概述 1、定义 DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,是一种网络协议,主要用于在IP网络中自动分配和管理IP地址以及其他网络配置参数。 2、作用 DHCP允许计算机和其他设备通

【zabbix】zabbix客户端配置

1、部署zabbix客户端 #zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。#zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。systemctl disable --now firewalldsetenforce 0hostnamectl set-host

众所周知,配置即代码≠基础设置即代码

​前段时间翻到几条留言,问: “配置即代码和基础设施即代码一样吗?” “配置即代码是什么?怎么都是基础设施即代码?” 我们都是知道,DevOp的快速发展,让服务器管理与配置的时间大大减少,配置即代码和基础设施即代码作为DevOps的重要实践,在其中起到了关键性作用。 不少人将二者看作是一件事,配置即大代码是关于管理特定的应用程序配置设置本身,而基础设施即代码更关注的是部署支持应用程序环境所需的