MFC下CSocket 编程聊天室小项目

本文介绍了使用MFC的CSocket进行聊天室编程时遇到的问题及解决方案,包括:初始化、连接、接收和发送消息、字符集设置、列表控件排序、文件分块传输和内存管理。重点讲解了如何处理只能发送一个字符的错误,以及文件传输时的结构体设计和分块发送接收的方法。
摘要由CSDN通过智能技术生成

最近要做一个聊天室的网络编程小项目,同事给我一份源码,也能运行,但是有很多的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:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值