KouChat_Win32

所属分类:ICQ/即时通讯
开发工具:Visual C++
文件大小:78KB
下载次数:18
上传日期:2013-07-22 17:33:09
上 传 者tan435jon
说明:  用Socket实现服务器客户端于一体的局域网即时通讯系统,主要实现单人聊天,群聊,文件传输
(On Socket Server client in one of the LAN instant messaging system, the main single chat, group chat, file transfer)

文件列表:
KouChat_Win32 (0, 2013-07-22)
KouChat_Win32\ChatMoreDlg.cpp (5579, 2013-04-08)
KouChat_Win32\ChatMoreDlg.h (1445, 2013-04-08)
KouChat_Win32\ChatOneDlg.cpp (16286, 2013-04-08)
KouChat_Win32\ChatOneDlg.h (2001, 2013-04-08)
KouChat_Win32\Common.cpp (2667, 2013-04-08)
KouChat_Win32\Common.h (692, 2013-04-08)
KouChat_Win32\Desktop_1.ini (8, 2013-04-08)
KouChat_Win32\KouChat.aps (23424, 2013-04-08)
KouChat_Win32\KouChat.clw (3332, 2013-04-08)
KouChat_Win32\KouChat.cpp (3174, 2013-04-08)
KouChat_Win32\KouChat.dsp (5702, 2013-04-08)
KouChat_Win32\KouChat.dsw (539, 2013-04-08)
KouChat_Win32\KouChat.h (1365, 2013-04-08)
KouChat_Win32\KouChat.opt (48640, 2013-07-22)
KouChat_Win32\KouChat.plg (2721, 2013-07-22)
KouChat_Win32\KouChat.rc (8501, 2013-04-08)
KouChat_Win32\KouChatDlg.cpp (34647, 2013-04-08)
KouChat_Win32\KouChatDlg.h (3323, 2013-04-08)
KouChat_Win32\NicknameDlg.cpp (1863, 2013-04-08)
KouChat_Win32\NicknameDlg.h (1272, 2013-04-08)
KouChat_Win32\res (0, 2013-07-22)
KouChat_Win32\resource.h (1601, 2013-04-08)
KouChat_Win32\res\bitmap2.bmp (250, 2013-04-08)
KouChat_Win32\res\chaticon.bmp (1342, 2013-04-08)
KouChat_Win32\res\Desktop_1.ini (8, 2013-04-08)
KouChat_Win32\res\KouChat.rc2 (399, 2013-04-08)
KouChat_Win32\res\msg.bmp (1152054, 2013-04-08)
KouChat_Win32\res\PHONE16.ICO (766, 2013-04-08)
KouChat_Win32\res\UserChat.ico (25670, 2013-04-08)
KouChat_Win32\SocketListen.cpp (2138, 2013-04-08)
KouChat_Win32\SocketListen.h (1333, 2013-04-08)
KouChat_Win32\SocketRecv.cpp (2355, 2013-04-08)
KouChat_Win32\SocketRecv.h (1503, 2013-04-08)
KouChat_Win32\SocketSend.cpp (1679, 2013-04-08)
KouChat_Win32\SocketSend.h (1352, 2013-04-08)
KouChat_Win32\StdAfx.cpp (209, 2013-04-08)
KouChat_Win32\StdAfx.h (2349, 2013-04-08)

企业通设计思想: 100% 1. 主窗口上使用套接字m_socketMain:6000来收发上线和离线通知 100% 2. 聊天窗口使用套接字m_socketChat:6001来收发文字信息 3. 聊天窗口使用套接字m_socketFile:6002来收发文件 100% 4. 群聊窗口使用套接字m_socketMore:6003来收发文字信息 100% 5. 将GetAllIP()放到子线程,解决启动较慢的问题 100% 6. 研究RichEdit控件,使字体大小和颜色可变 100% 7. 点击托盘的闪烁图标后,打开 m_list 有闪烁标志的窗口 8. 登录和备注计算机名 100% 9. 每隔5分钟刷新在线和离线状态 100% 10. 本机显示到list的最前面 100% 11. 主窗口隐藏后,要隐藏所有其他的窗口 张三于 23:23:23 向你发送文件 文件1.RAR (345.2K) 接收,另存为,拒绝 发送途中终止 接收途中终止 断点续传 TCP文件传输过程描述: 0. ListenServer已经事先在发送端启动,并阻塞于while(1) { ::accept(); }中的accept语句处,等待接收端的connect. 1. 接收端点击接收某个文件,该文件信息保存在4 fileInfo中,将4 fileInfo通过UDP发给发送端 2. 发送端收到UDP发来的4 fileInfo之后, 通过UDP向接收端回发5 fileInfo信息,告知已经收到4 fileInfo. 3. 接收端收到UDP发来的5 fileInfo之后, 才正式发送TCP 的 ::connect()命令,并启动接收循环 4. 发送端的Listen Server的while循环中, accept阻塞解除, while (1) { m_pSendSock = new CSocketSend(); m_pSendSock->m_sockConn = ::accept(m_sockSvr, (SOCKADDR *)&addrFrom, &len); //阻塞函数 m_pSendSock->m_fileInfo = m_fileInfo; //此处m_fileInfo已经在第2步赋值 m_pSendSock->Start(); //Start() 中封装了connect, 发送文件循环等 }

近期下载者

相关文件


收藏者