基于TCP的局域网多用户通信、文件传送程序详解

http://tech.ddvip.com   2006年07月21日    社区交流

本文详细介绍基于TCP的局域网多用户通信、文件传送程序详解

  两个服务器程序可以在同一台物理机器上运行,也可以在不同的机子上运行,为方便服务器的控制,在注册登录服务器调用函数

  CreateProcess( NULL,
    ".\\..\\wbQQChat\\wbQQChat.exe",   // Command line.
    NULL,       // Process handle not inheritable.
    NULL,       // Thread handle not inheritable.
    FALSE,      // Set handle inheritance to FALSE.
    0,        // No creation flags.
    NULL,       // Use parent''''s environment block.
    NULL,       // Use parent''''s starting directory.
    &si,       // Pointer to STARTUPINFO structure.
    &pi )
  

  创建聊天通信服务器进程,想关闭时则调用TerminateProcess(m_hProcChat, 2)函数关闭此进程。

  三、聊天通信服务器设计

  聊天通信服务器设计为无界面的进程(创建时先建一个基于对话框的应用程序,然后把对话框类删除,把APP类里面与对话框有关的语句全删除即可创建无界面进程),采用共享数据结构,为每个客户端创建两个线程,实现接收和转发的功能。第一个线程用于发送,

hHandleSend = AfxBeginThread(SendData,(LPVOID)clientSocket,0,0,CREATE_SUSPENDED,NULL);

  第二个线程用于接收:

hHandleRecv = AfxBeginThread(RecvData, (LPVOID)clientSocket);

  四、客户端设计

  客户端设计成为对话框的用户界面,主要分成四个模块,分别是注册模块、登录模块、聊天模块和文件传送模块。

作者:刘文博    责编:豆豆技术应用

正在加载评论...