用C++写聊天器之服务器(一)

标签:
itc聊天器 |
分类: 编程学习 |
决定再写一篇说说我的编写过程也顺便复习一遍。
项目用的编译器是vs2015。首先是写服务端,第一步当然是界面的制作。界面的制作就不多说了,完全是靠拖控件的方式简单得很。
整个聊天器基于TCP协议,以下是控件的属性。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
首先创建一个CSocket的派生类->CListenSocket
于是就会出现两个文件ListenSocket.h,ListenSocket.cpp
那个OnAccept函数是我后来添加的,现在不写也行,等下解释。
创建好后返回界面
返回界面后,在开始按钮那右键菜单如图
http://s9/mw690/005vXgPAzy7g8MwBxX2a8&690
http://s12/mw690/005vXgPAzy7g8MFyiQb6b&690
http://s9/mw690/005vXgPAzy7g8MwBxX2a8&690
http://s12/mw690/005vXgPAzy7g8MFyiQb6b&690
确定后返回*dlg.h 我们会看到它自动为我们添加了一个函数,方不方便(>ω・* )ノ
而后我们声明一个CListenSocket类型的变量,m_pListenSocket这个变量待会要用到
第一个if函数初始化并使用一个端口(3726,除了已被使用的0-1024以外还要注意的是不要与其他软件的端口冲突。)
然后顺便判断是否创建成功,创建失败了就给个弹窗提示“创建失败:(这个是错误信息'GetLastError()')”
下面这个if函数也差不多,监听端口“Listen()”函数会返回布尔值然后借此判断是否监听成功。
失败后要记得删除m_pListenSocket的地址空间(delete)
EnableWindow()这个函数主要是控制按钮是否被禁用,如果要按钮为不可点击的状态则设置为false。
返回界面,用同样的方法为关闭按钮添加一个事件
http://s6/mw690/005vXgPAzy7g8OayDPv65&690
这段代码解释起来很简单,先判断m_pListenSocket为不为空,不为空则用Close()函数关闭,而后记得删除地址空间,调整按钮的状态。
http://s6/mw690/005vXgPAzy7g8OayDPv65&690
这段代码解释起来很简单,先判断m_pListenSocket为不为空,不为空则用Close()函数关闭,而后记得删除地址空间,调整按钮的状态。
那么这个时候,先按“F5”测试测试运行以下看看会不会有错。
那么今天先写在这里
前一篇:用C++写聊天器的过程