初学CSocket,各位谁能给我一个关于CSocket发送和接收数据的最简单程序,只需要贴出CSocket收发数据必要的代码的就行了。据说用tcp/ip和udp收发数据的方法是不同的,可可以简单的讲一下吗?

解决方案 »

  1.   

    // CMessageSocket m_socketMessage;
    // CMessageSocket m_socketSend;
    // CListenSocket m_socketListen;void CListenSocket::OnAccept(int nErrorCode) 
    {
    // TODO: Add your specialized code here and/or call the base class
             Accept(m_socketMessage);
    CAsyncSocket::OnAccept(nErrorCode);
    }void CMessageSocket::OnReceive(int nErrorCode) 
    {
    // TODO: Add your specialized code here and/or call the base class
    CString cs;
    char rx_buf[255];
    ZeroMemory(rx_buf,255);
    Receive(rx_buf,254);
    cs = rx_buf;

    AfxMessageBox(rx_buf);

    CAsyncSocket::OnReceive(nErrorCode);
    }BOOL CXXDlg::OnInitDialog()
    {
    /// ..........
    CDialog::OnInitDialog();
    m_socketListen.Create(6800+GetEndIP(GetMyIP()));
    m_socketListen.Listen(1);
    }void CXXDlg::OnButtonsend() 
    {
    // TODO: Add your control notification handler code here
    UpdateData(true);
    m_socketSend.Create();
    if(m_socketSend.Connect(m_sIP,6800) )
    {
    AfxMessageBox("无法连接对方.",MB_ICONINFORMATION);
    }
    m_sMessage = "来自 " + m_sMyIP + " " + m_sMyName + " 的信息: " + m_sMessage;
    m_socketSend.Send(m_sMessage,m_sMessage.GetLength()); m_sMessage = "";
    UpdateData(false);
    m_socketSend.Close();
    }tcp/ip是由连接的,udp不是。其实,你来这里这样问问题,还不如卖一本关于网络编成的书画点时间看看,要不然别人只有帮你把书上的东西贴出来。上面是我程序的部分代码。
      

  2.   

    www.codeproject.com/internet
    最简单的是beginner组