最近要做一个聊天室的网络编程小项目,同事给我一份源码,也能运行,但是有很多的bug,还有很多不太合理的地方。本来就想着把代码看懂就行了,
可是有很多的内存泄露问题,于是决定自己动手写一个。在写的过程中,发现了一些问题,现在总结如下:
第一个问题:在使用MFC编写socket编程时,必须包含<afxsock.h>头文件
服务器端的主要过程:必须首先AfxSocketInit(), 接着creat一个端口,然后打开监听端口listen, 然后等待接受客户端的主动连接请求Accept
客户端的主要过程:首先也是必须AfxSocketInit(),接着creat, 然后就可以请求连接了connect。
在服务器端必须同时定义两个CSocket变量a、b,一个a用于creat和listen,另一个用于接受连接进行消息的接收和发送 a.Accept(b);
在类CAsyncSocket中,所有以On开头的成员函数都是由框架自动调用的,不用自己单独调用。在这个聊天室项目中,全局变量是CMysocket类型的,该类
继承于CAsyncSocket类,其定义如下:
class CMysocket : public CAsyncSocket
{
public:<