⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d268.bmp.txt

📁 Visual C++通信编程工程实例精解(附盘)
💻 TXT
字号:
    1)::OpenComm (m_strPort,nRate),这个函数用于程序启动时打开端口,在CheckSettings0
中实现。
    2) gsmlnit0,该函数程序启动时初始化GSM状态,在CheckSettings()中实现。
    3)在发送函数OnButtonSend0中实现发送短消息功能,这里使用的是theApp.m_pSmsTraffic-
>PutSendMessage (&SmParam).
    4)在定时器中实现周期性地接收短消息功能,在这里使用的函数是theApp.m_pSmsTraffic-
>GetRecvMessage (&SmParam).
    5) CloseComm()函数,用于在程序退出时关闭端口。
7.4  扩展实例:基于CSocket的GPRS数据中心程序
    数据中心可以不需要任何无线设备,在小型应用时的接入方式主要分别有ADSL和电话
拨号,这两种方式的特点是能获得一个公网的lP,以便让GPRS终端能识别到数据中一心。但
其缺点是其I地址是动态分配的。所以可以采用短信解析的方式,首先由手机或者短信程
序发送一个短信给终端,将数据中心由ADSL或者电话拨号获得的IP地址传送给终端,然
后由终端启动GPRS昀初始化程序,连接到数据中心。
    本实例是采用电话拨号的接入方式,基于CSocket方式编程,采用自定义消息的方式,
并添加消息响应函数,实现客户端与服务器端的连接与数据读写,具体流程参见本书第3
章图3-2。实例参加随书光盘“Chapter 7\SocketComm”。
#define SER_MESSAGE WM_USER +100
#define CLI_MESSAGE WM_USER + 101
     afx_msg LRESULT OnServerMessage(WPARAM wParam, LPARAM lParam);
     afx_msg LRESULT OnClientMessage(WPARAM wParam, LPARAM lParam);
  主要的系统调用函数如下所示。
  ●socket(),创建Socket。
  ●bind0,将创建的Socket与本地端口绑定。
  ●connect(),与accept()-建立Socket连接。
  ●listen(),服务器监听是否有连接请求。
  ●send(),数据的可控缓冲发送。
  ●recv(),可控缓冲接收。
  ●closesocket0,关闭Socket。
  在消息响应函数中添加网络事件实现连接、数据的读写相Socket的关闭。具体采用的
网络时间( lEvent)如下:
    ●FD_READ,希望Socket收到数据时发送读的消息。
    ●FD_WRITE,希望Socket收到数据时发送写的消息。
    ●FD_ACCEPT,希望有连接到来的时候发送连接请求的消息。
    ●FD_CONNECT,希望完成连接时发送连接完成的消息。
    ●FD_CLOSE,希望接收Socket关闭的消息。
268
咐光盘

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -