• 您的位置我爱Aspx >> VC.Net >> <b>利用WinSock进行无连接的通信</b>
  • <b>利用WinSock进行无连接的通信</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:10  关键字:
  • 利用WinSock进行无连接的通信

    WinSock提供了对UDP(用户数据报协议)的支持,通过UDP协议我们可以向指定IP地址的主机发送数据,同时也可以从指定IP地址的主机接收数据,发送和接收方处于相同的地位没有主次之分。利用CSocket操纵无连接的数据发送很简单,首先生成一个本地套接口(需要指明SOCK_DGRAM标记),然后利用

    int CAsyncSocket::SendTo( const void* lpBuf, int nBufLen, UINT nHostPort, LPCTSTR lpszHostAddress = NULL, int nFlags = 0 )发送数据,

    int CAsyncSocket::ReceiveFrom( void* lpBuf, int nBufLen, CString& rSocketAddress, UINT& rSocketPort, int nFlags = 0 )接收数据。函数调用顺序如图。

    利用UDP协议发送和接收都可以是双向的,就是说任何一个主机都可以发送和接收数据。但是UDP协议是无连接的,所以发送的数据不一定能被接收,此外接收的顺序也有可能与发送顺序不一致。下面是相关代码:

    /*

    发送方在端口6800上向接收方端口6801发送数据

    */

    //发送方代码:

    BOOL CMy62_s1_clientDlg::OnInitDialog()

    {

    CDialog::OnInitDialog();

    //创建本地套接口

    m_sockSend.Create(6800,SOCK_DGRAM,NULL);

    //绑定本地套接口

    m_sockSend.Bind(6800,"127.0.0.1");

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>如何隐藏显示在任务栏中的对话框程序</b>
    下一篇:<b>在ATL Browser Helper对象中使用WTL TreeView(英文)</b>
  • 相关文章