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);
      }
     }
    }

  • 相关阅读:
    计算机网络概述
    虚拟机网卡配置
    元类
    反射和内置方法
    面向对象的三大特性
    MYSQL中EXISTS的用法
    Guava中的常见集合操作用法
    集合操作交并补的三种Java实现
    P9 get和resize操作(Java 13)
    P8 Java 13中 HashMap的 put方法
  • 原文地址:https://www.cnblogs.com/ccmfc/p/1707680.html
Copyright © 2011-2022 走看看