显然你们都用过 QQ 等聊天工具,也显然有想弄明白其中的工作原理,学过编程的同事似乎都会希望自己也能设计出一款差不多的程序软件。在这儿我按照孙鑫老师讲的 VC 教程,整理下来了一个程序,不敢说我对这方面弄得很明白,只是将我实现这个软件的过程向有须要的同学介绍下,如果刚好能给与便捷,自是感到开导c简单聊天程序实训,权当消遣之余的闲暇罢了。 闲话就不多说了,下面详尽介绍其实现过程,有不建立之处,请有心人及时反映给我,共同进步,谢谢!(实现语言:VC++) 步骤: (一)打开 VC++6.0c简单聊天程序实训,创建一个 MFC AppWizard(exe),工程名为:CHART,选择但文档类型,在应用程序向导第六步将泛型改为“CView”,单击“完成”,创建完成。 (二)在其生成的对话框 IDD_CHART_FORM 中添加控件:控件名称 控件 ID 控件标题 组框 IDC_STATIC 接收信息: 组框 IDC_STATIC 发送信息: 编辑框 IDC_EDIT_RECEIVE 编辑框 IDC_EDIT_SEND IP 地址 IDC_IPADDRESS1 静态文本 ID: 按键 IDC_BTN_SEND 发送 (三)在 CCHARTView 中添加成员变量:SOCKET m_socket; (四)在 CHARTView.h 添加结构体: struct RECEIVE { SOCKET sock; HWND hwnd; }; (五)在 CCHARTView 中添加成员函数:BOOL InitSocket(); 函数代码: BOOL CCHARTView::InitSocket() { m_socket=socket(AF_INET,SOCK_DGRAM,0);//创建一个才能进行网路通讯的套接字 if(INVALID_SOCKET==m_socket) { MessageBox("套接字创建失败!"); return FALSE; } SOCKADDR_IN AddrSock; AddrSock.sin_family=AF_INET;//指代协议族,在 socket 编程中只能是 AF_INET,代表 TCP/IP 协议族。 AddrSock.sin_port=htons(6000);//存储端口号(使用网路字节次序) AddrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);