001之IP基础对话框
在TCP/IP协议中,建立连接的两个进程(客户端和服务器)各自用一个socket(IP地址+TCP/UDP端口号)标识。在MFC中流式套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)分别对应TCP/UDP协议通信使用。
基础IP对话框如下,将输入的IP信息进行整合到文本框中。

地址框可以设置属性为只读,或者是将控件设置EnableWindow。
其中使用控件变量如下:

具体代码为:BYTE为unsigned char型,取值0-255;
// TODO: 在此添加控件通知处理程序代码
BYTE nfield[];
CString strIP;
UpdateData(); //默认为true,将输入值传入控件,否则将控件变量值输出到文本框中 if(ServerIP.IsBlank()||m_str_port =="")//判断输入变量是否合法
{
AfxMessageBox("IP地址与端口不能为空");
return ; //如不执行return 则会继续执行赋IP操作
}
//将IP传给地址框
ServerIP.GetAddress(nfield[],nfield[],nfield[],nfield[]);
strIP.Format("%d.%d.%d.%d",nfield[],nfield[],nfield[],nfield[]);
m_edit_address.SetWindowText(strIP+" :"+m_str_port);
}
MFC中涉及字符串处理的API函数都有A和W两个版本:
1)A结尾的表示使用ANSI编码:中文的Windows操作系统一般对应的就是GBK(英文占用一个字节 、汉字两个字节。 )
2)W结尾的表示使用UNICODE编码:UTF-16版本---英文两个字节、汉字两个字节 ;UTF-32版本---英文/汉字四个字节
如果你的软件将来只需要英文或汉文字符,那就选择A版本的API,如果有可能要使用多国文字,那么最好使用W版本的API。都不影响则无需理会,以上取值直接为SetWindowText。
MFC中控件大多有Get/Set开头的函数,一般Get是将控件的值写入到函参中,Set是将函参赋值给控件变量。
001之IP基础对话框的更多相关文章
- 初入网络系列笔记(1)TCP/IP基础
一.借鉴说明,本博文借鉴以下博文 1.BlueTzar,TCP/IP四层模型, http://www.cnblogs.com/BlueTzar/articles/811160.html 2.叶剑峰,漫 ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
- TCP/IP基础知识
TCP/IP基础知识 网络 TCP/IP 引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP ...
- .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础
基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...
- 【TCP/IP 协议】 TCP/IP 基础
总结 : 通过学习 TCP/IP 基础, 并总结相关笔记 和 绘制思维导图 到博客上, 对 TCP/IP 框架有了大致了解, 之后开始详细学习数据链路层的各种细节协议, 并作出笔记; 博客地址 : h ...
- 第二章 TCP/IP 基础知识
第二章 TCP/IP 基础知识 TCP/IP transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的. ...
- TCP/IP基础总结性学习(5)
与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率. 一. 用单台虚拟主机实现多个域名 HTTP/1.1 规范允许 ...
- TCP/IP基础总结性学习(7)
确保 Web 安全的 HTTPS 在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题.使用 HTTPS 通信机制可以有效地防止这些问题. 一. HTTP 的缺点 HTTP 主要有这些不足,例举 ...
- TCP/IP基础总结性学习(6)
HTTP 首部 一. HTTP 报文首部 1.HTTP 报文的结构: 2.HTTP 请求报文 图示: 举例子: 3.HTTP 响应报文: 下面的示例是访问 http://hackr.jp 时,请求报文 ...
随机推荐
- git教程: 查看文件状态与修改内容
转载:时光机穿梭 我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed ...
- SpringBoot下如何配置实现跨域请求?
一.什么是跨域请求? 跨域请求,就是说浏览器在执行脚本文件的ajax请求时,脚本文件所在的服务地址和请求的服务地址不一样.说白了就是ip.网络协议.端口都一样的时候,就是同一个域,否则就是跨域.这是由 ...
- 用CSS3制作尖角标签按钮样式
如图的效果.标签有背景色,且左侧有一个三角形,三角形中间有个白色的圆圈. 你一定在想这个效果是背景图切出来的吧——答案是没有用到任何图片 那你会不会在想这个效果的html结构很复杂呢——答案是最简单的 ...
- lombok安装
今天学习spring boot 时候发现的lombok挺好用的,我这个使用的是spring boot 管理的版本,如果其他的可能需要你们自己去添加版本了,开发工具使用的是idea. maven: &l ...
- 单例模式demo
package com.test; /** * * @author Administrator *我的发现:调用这个的时候,不能直接实例化了;需要=null;然后get; 这样安全些; *然后仔细找了 ...
- ue4 C++ 生成并弹出一个菜单
FGlobalSettingModule& GSettingMod = FModuleManager::LoadModuleChecked<FGlobalSettingModule> ...
- Angular + Websocket
Angular使用RxJS,它本质上是一个反应式扩展的javascript实现.这是一个使用可观察序列组成异步和基于事件的程序的库,非常适合使用WebSockets. 简而言之,RxJS允许我们从we ...
- 100道JS构造函数面试题
1. var User = { count: 1, getCount: function () { return this.count; } }; console.log(User.getCount( ...
- Spring/Spring MVC
90.为什么要使用 spring? 答:spring是一个开源框架,是个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 方便结构简化开发 AOP编码的支持 声明式事物的支持 方便程序的测试 ...
- Delphi2009之TImage
TPngImage原来是SourceFroge上的一个开源项目,现在突然消失了,为什么呢?Nick 在他的博客上写到:TPNGImage被CodeGear/Embarcadero收购了,现在直接就是D ...