程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 服務器與客戶機互傳消息

服務器與客戶機互傳消息

編輯:vc教程

一、服務器程序

創建一個名為“server"的項目,單文檔界面。

在serverview.h中加入代碼:

#include“winsock.h"

添加變量:

      CSize    sizeTotal;// 控 制 滾 動 條
       int  count;// 信 息 條 數
       CString m_data[1000];// 信 息 存 放
       char  Hostname[260];
       char Hostaddress[20];// 主 機IP 地 址
       SOCKET   m_sock;
       HANDLE   m_hListenThread;// 線 程
       BOOL m_bInitialized;// 是 否 初 始 化
       WSADATA   WSAData;
       BOOL flag;
       SOCKADDR_IN saClnt;
       int  saClntLen;
       BOOL Isconnect;// 是 否 連 接
  

在serverview.cpp中重載CServerView()構造器,創建並綁定嵌套字:

   CServerView::CServerView()
{   // TODO: add construction code here
    Isconnect=FALSE;
    flag=FALSE;
    sizeTotal.cy=350;
    sizeTotal.cx=300;
    m_hListenThread;
    count=5;
    int status;
    WSADATA wsaData;
   m_data[0]=“initializing Windows Sockets DLL....";
    if((status=WSAStartup(0x0101, &wsaData))==0)
    {   m_data[0] +=“Succeeded";
       m_bInitialized=TRUE;
    }
    else
    {   m_bInitialized=FALSE;
    }
    m_sock=socket(AF_INET,SOCK_DGRAM,0);
    m_data[1]=“Creating socket....";
    if(m_sock==INVALID_SOCKET)
    {   m_data[1] +=“Failed";
    }
    m_data[1] +=“Succeeded";
    m_data[2]=“Binding socket....";
    sockaddr_in sa;
    sa.sin_family=AF_INET;
    sa.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
    sa.sin_port=htons(5050);
    if(bind(m_sock,(PSOCKADDR)
    &sa,sizeof(sa))==SOCKET_ERROR)
    {   m_data[2] +=“Failed";
       closesocket(m_sock);
    }
    m_data[2] +=“Succeeded";
    m_data[3]=“Creating listener thread....";
    unsigned long idThread;
m_hListenThread=CreateThread(NULL,0,
(LPTHREAD_START_ROUTINE)Listen,
(void    if(m_hListenThread)
    {   m_data[3] +=“Succeeded";
       m_data[4] +=“Listening....";
    }
    else
       m_data[4] +=“Failed";
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved