zoukankan      html  css  js  c++  java
  • 初识Winsocket(TCP)函数。局域网聊天

    TCP:WSASartup、WSACleanup、socket、bind、listen、connect、accept、read、write、close。
    UDP:sendto、recvfrom。

    在编写Winsocket函数时得先认识它们的流程(一般都是这种流程)

    服务端:先WSASartup->socket->bind->listen->accept->read->write->closesocket->WSACleanup。

    客服端:WSASartup->socket->connect->read->write->closesocket->WSACleanup

    客服端还好写。。主要是服务端。。他要处理两件事。。。

    一、接收所客服端上线的数据,保存它们的节点(一般是用容器(个人喜好))

    二、把接收到的数据转发出去(转发数据的时候要处理是否与发送信息来的节点不同);

    转发时处理的函数


    void CServerDlg::SendMsg(CString tString /* = _T */, SaveClientItem *tItem)
    {
     TCHAR tBuf[MAX_PATH];
     _tcscpy_s(tBuf,MAX_PATH,tString);
     for ( POSITION idx = 0; idx<m_SaveItem.GetTailPosition(); idx++)
     {
      if (!tItem || tItem->m_ClientSocket != m_SaveItem.GetAt(idx).m_ClientSocket ||
       tItem->m_ClientHandle != m_SaveItem.GetAt(idx).m_ClientHandle)
      {
       send(m_SaveItem.GetAt(idx).m_ClientSocket,(char *)tBuf,_tcslen(tBuf)*sizeof(TCHAR),0);
      }
     }
    }

  • 相关阅读:
    原子操作--sync/atomic的用法
    基础的排序算法以及查找算法
    (三)MySQL终极篇
    (二)MySQL中级篇
    数据库表添加索引对性能的影响
    事务的四大特性以及事务的隔离级别
    int 和Integer
    数据库三范式
    Java反射
    获取Class实例的三种方式
  • 原文地址:https://www.cnblogs.com/ccmfc/p/1707680.html
Copyright © 2011-2022 走看看