listen(g_ListenSocket,5); 4.5accept 内容来自论文无忧网 www.paper51.com 调用accept()接收连接并生成会话socket(); 内容来自www.paper51.com socket=accept(g_ListenSocket,NULL,NULL); http://www.paper51.com 4.6connect 内容来自www.paper51.com 客户端套接字建立连接后,调用Connect函数向服务器提出链接请求。 http://www.paper51.com connect(g_ClientSocket,(sockaddr*)&addr,sizeof(addr)); 内容来自论文无忧网 www.paper51.com 4.7send/recv/ 内容来自论文无忧网 www.paper51.com 建立连接后,就给以调用send()和recv()函数来收发数据了。 内容来自论文无忧网 www.paper51.com send(g_ClientSocket,(char*)buff,sizeof(buff),0); copyright paper51.com
recv(g_ClientSocket,buffer,BUFFER_SIZE,0); 内容来自www.paper51.com 4.8sendto/recvfrom copyright paper51.com 在调用bind()函数后就可以使用sendto()和recvfrom()函数收发数据。 内容来自www.paper51.com
sendto(huatusocket,(char*)&SKData_s,16,0,(sockaddr*)&addr,length); paper51.com
recvfrom(huatusocket,bufRecv,200,0,(SOCKADDR*)&addrhuatu,&length); http://www.paper51.com 4.9getsockname copyright paper51.com
考虑到该程序可以有多个客户同时连接到服务器上,为了区分不同的客户,客户端通过得到自己的主机名,进而得到自己的IP和端口号。 http://www.paper51.com SOCKADDR_INaddrClient; 内容来自www.paper51.com intlength2=sizeof(SOCKADDR); paper51.com getsockname(g_ClientSocket,(SOCKADDR*)&addrClient,&length2); paper51.com sprintf(buftemp2,"%s-%d:",inet_ntoa(addrClient.sin_addr),ntohs(addrClient.sin_port)); copyright paper51.com 5.程序功能模块设计与实现过程 paper51.com
本聊天程序是在Visual C++6.0中进行设计开发的。通过Win32Appliccation创建“一个空工程”类型的windows应用程序,再在工程新建源文件(.cpp)、资源脚本 ,插入相应的资源,对源文件和资源模板进行编码。程序主要实现了画图(仅实现了客户端画图,服务器接收图像)和聊天的功能。 paper51.com
5.1程序中使用的控件如表: http://www.paper51.com 表1 http://www.paper51.com 控件ID copyright paper51.com
控件类型 http://www.paper51.com
控件名字 copyright paper51.com IDC_output_c copyright paper51.com EDIT 内容来自www.paper51.com
IDC_input_c paper51.com
EDIT 内容来自www.paper51.com IDC_showip_c 内容来自www.paper51.com EDIT http://www.paper51.com IDC_listen_c http://www.paper51.com EDIT 内容来自www.paper51.com IDC_font_c copyright paper51.com BUTTON http://www.paper51.com 申请专线 copyright paper51.com IDC_liaotian_c copyright paper51.com BUTTON copyright paper51.com 聊天 http://www.paper51.com
IDC_huatu_c 内容来自www.paper51.com BUTTON 内容来自www.paper51.com
画图 paper51.com IDCANCEL http://www.paper51.com BUTTON http://www.paper51.com 关闭 copyright paper51.com IDC_send_c 内容来自www.paper51.com BUTTON copyright paper51.com 发送 paper51.com IDC_STATIC3_c paper51.com
GROUPBOX paper51.com
|