6.添加一个拨号对话框,名为dial,有一个文本框用来写IP地址.并在clientview.cpp中添加代码:
7.在拨号项添加一个判断函数:
void CClientView::OnUpdateDial(CCmdUI* pCmdUI) {// TODO: Add your command update UI handler code here pCmdUI- >Enable(TRUE); if(Isconnect) pCmdUI- >Enable(FALSE); } |
8.添加接收与发送消息的线程:.
long WINAPI Listen(CClientView *pView) { char msg[2000]; pView- >m_data[5]="Sending ATTACH command"; pView- >InvalidateRect(NULL); wsprintf(msg,"A: "); sendto(pView- >m_sock,msg,1024,0, (PSOCKADDR)&pView- >m_saSrvr,sizeof(pView- >m_saSrvr)); int saSrvrLen ,nchar; while(1) { saSrvrLen=sizeof(pView- >m_saSrvr); nchar=recvfrom(pView- >m_sock,msg, 1024,0,(PSOCKADDR)&pView- >m_saSrvr,&saSrvrLen); if(nchar< 0) { pView- >m_data[pView- >count++] ="Error in recvform"; pView- >InvalidateRect(NULL); } else { pView- >m_data[pView- >count++]=msg; pView- >Isconnect=TRUE; pView- >flag=TRUE; pView- >InvalidateRect(NULL); } } return(0); } |
9.同主程序一样做一个发送消息项,代码如上.
10.显示程序也与主程序一样,代码如上.
11.在Project中点击Settings中选择Link项添加wsock32.lib.
12.编译程序便可得到client.exe程序.
server.exe 和 client.exe 做完后,就可以在具有TCP/IP协议下的网络中执行.
通过上面的例子,你可以很快了解vc++网络编程(www.cppentry.com)的优点,你还可以添加其它功能项,在这我就不多加叙述了.希望我的程序能起到抛砖引玉的目的,让我们都能编出好的网络程序.
|