精华内容
下载资源
问答
  • TcpClient(客户端) 和 TcpServer(服务端)代码示例 TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。 可使用 TcpClient 或 Socket 来连接 TcpListener。 可使用 IPEndPoint、本地 IP ...
  • c#tcpClient发送和接收

    2019-02-13 14:58:11
    最简单的tcpClient建立通信、发送数据、接收数据函数,编写TCP通信的第一步。
  • 利用Tcpclient和Tcpserver实现简单通讯,分两个程序,一个为客户端(发送),一个为服务端(接收)。代码功能只提供最简单的发送和接收,简单易懂
  • indy 10 idtcpclient , indy 10.x 的tcpclient 使用IdTCPClient.IOHandler.Write 发送,代码 中解决了,如何 使用 IdTCPClient 发送之后,接收回消息包。
  • winform使用TcpClient/TcpListener类结合网络流建立多个客户机连接服务器程序,实现网络聊天通信的软件。程序比较完整,可以直接使用。
  • 下面小编就为大家分享一篇C#使用TcpListener及TcpClient开发一个简单的Chat工具实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • TcpClient.java

    2020-07-31 15:11:56
    JAVA使用ByteArrayOutputStream、ByteArrayInputStream将对象序列化反序列化,通过JAVA socket实现对象在网络中传输
  • TcpClient

    2020-11-09 16:04:28
    TcpServer表示服务端,那么TcpClient表示的就是客户端。 TcpClient::TcpClient(EventLoop* loop, const InetAddress& serverAddr, const string& nameArg) : loop_(CHECK_NOTNULL(loop)), connector_...

    TcpServer表示服务端,那么TcpClient表示的就是客户端。

    TcpClient::TcpClient(EventLoop* loop,
                         const InetAddress& serverAddr,
                         const string& nameArg)
      : loop_(CHECK_NOTNULL(loop)),
        connector_(new Connector(loop, serverAddr)),
        name_(nameArg),
        connectionCallback_(defaultConnectionCallback),
        messageCallback_(defaultMessageCallback),
        retry_(false),
        connect_(true),
        nextConnId_(1)
    {
      connector_->setNewConnectionCallback(
          std::bind(&TcpClient::newConnection, this, _1));
      // FIXME setConnectFailedCallback
      LOG_INFO << "TcpClient::TcpClient[" << name_
               << "] - connector " << get_pointer(connector_);
    }
    
    TcpClient::~TcpClient()
    {
      LOG_INFO << "TcpClient::~TcpClient[" << name_
               << "] - connector " << get_pointer(connector_);
      TcpConnectionPtr conn;
      bool unique = false;
      {
        MutexLockGuard lock(mutex_);
        unique = connection_.unique();
        conn = connection_;
      }
      if (conn)
      {
        assert(loop_ == conn->getLoop());
        // FIXME: not 100% safe, if we are in different thread
        CloseCallback cb = std::bind(&detail::removeConnection, loop_, _1);
        loop_->runInLoop(
            std::bind(&TcpConnection::setCloseCallback, conn, cb));
        if (unique)
        {
          conn->forceClose();
        }
      }
      else
      {
        connector_->stop();
        // FIXME: HACK
        loop_->runAfter(1, std::bind(&detail::removeConnector, connector_));
      }
    }

    TcpClient通过Connector建立连接,关于Connector参看之前的博客。并向Connector注册连接建立后的回调函数TcpClient::newConnection()。

    void TcpClient::newConnection(int sockfd)
    {
      loop_->assertInLoopThread();
      InetAddress peerAddr(sockets::getPeerAddr(sockfd));
      char buf[32];
      snprintf(buf, sizeof buf, ":%s#%d", peerAddr.toIpPort().c_str(), nextConnId_);
      ++nextConnId_;
      string connName = name_ + buf;
    
      InetAddress localAddr(sockets::getLocalAddr(sockfd));
      // FIXME poll with zero timeout to double confirm the new connection
      // FIXME use make_shared if necessary
      TcpConnectionPtr conn(new TcpConnection(loop_,
                                              connName,
                                              sockfd,
                                              localAddr,
                                              peerAddr));
    
      conn->setConnectionCallback(connectionCallback_);
      conn->setMessageCallback(messageCallback_);
      conn->setWriteCompleteCallback(writeCompleteCallback_);
      conn->setCloseCallback(
          std::bind(&TcpClient::removeConnection, this, _1)); // FIXME: unsafe
      {
        MutexLockGuard lock(mutex_);
        connection_ = conn;
      }
      conn->connectEstablished();
    }
    
    void TcpClient::removeConnection(const TcpConnectionPtr& conn)
    {
      loop_->assertInLoopThread();
      assert(loop_ == conn->getLoop());
    
      {
        MutexLockGuard lock(mutex_);
        assert(connection_ == conn);
        connection_.reset();
      }
    
      loop_->queueInLoop(std::bind(&TcpConnection::connectDestroyed, conn));
      if (retry_ && connect_)
      {
        LOG_INFO << "TcpClient::connect[" << name_ << "] - Reconnecting to "
                 << connector_->serverAddress().toIpPort();
        connector_->restart();
      }
    }

    TcpClient的建立连接的回调函数和TcpServer的建立连接的回调函数相似,都是通过创建一个表示连接的TcpConnection对象,并设置相关的回调函数,比较大的一个区别是在TcpClient注册的关闭回调中,会判断是否需要重连,如果需要重连,那么会重新建立连接。

    void TcpClient::connect()
    {
      // FIXME: check state
      LOG_INFO << "TcpClient::connect[" << name_ << "] - connecting to "
               << connector_->serverAddress().toIpPort();
      connect_ = true;
      connector_->start();
    }
    
    void TcpClient::disconnect()
    {
      connect_ = false;
    
      {
        MutexLockGuard lock(mutex_);
        if (connection_)
        {
          connection_->shutdown();
        }
      }
    }
    
    void TcpClient::stop()
    {
      connect_ = false;
      connector_->stop();
    }

    建立连接,断开连接和关闭连接。

    展开全文
  • 文件目录: TCPClient.h: 类的声明 TCPClient.cpp: 类的实现
  • TCPClient.rar

    2020-08-21 10:34:17
    C#代码实现用TCP客户端代码,多线程技术实现,适合初学者使用,有很大的帮助作用,附有源代码,很好实现整个通信流程
  • TCPCLient.unitypackage

    2020-10-29 17:14:15
    在过去的项目中,在涉及网络通信的项目中,我一直使用的是UDP通信,因为UDP通信开发起来比较方便,一直没有使用过TCP/IP进行通信,今天研究了一下,在这里将TCP/IP的客户端Demo分享给大家。
  • TcpClient.rar

    2021-02-01 20:47:37
    Qt TCP客户端例子程序 MSVC2015 32bit下编译
  • 参考了大神移植说明https://blog.csdn.net/u014453443/article/details/81328222,同时参考《ALIENTEK STM32F4 LWIP的开发手册》,实现了FreeRTOS的LWIP移植,以及DHCP+TCPclient功能的工程。可直接运行在正点原子...
  • QT学习中可用于借鉴的TCP小程序,如果你是刚开始,拿这个程序,可以直接从整体看看怎么用QT编写。
  • C#编写的TCP异步通信,采用Socket实现,(还可用C#对Socket的封装TcpClient和TcpListener实现) 包含服务端及客户端完整代码
  • 1. 使用C#的TcpClient写的聊天软件 2. 代码特点: 书写规范, 【最简单】的TcpClient用法, 3. 这样的好处是看了一目了然,而不是给你一个乱七八糟的项目让你去看了一上午还没看明白TcpClient, Socket到底怎么使用的
  • C++ tcpclient

    2018-10-28 14:07:33
    支持多线程开启tcp连接,另外支持线程池开启tcp连接,使用libcurl库。
  • 通过TcpClient与服务器端进行连接,通过timeout来实现连接超时的功能!
  • TcpClient m_Client = new TcpClient(); m_Client.Connect(serverIP, int.Parse(serverPort)); m_SendBuffer = HexStrTobyte(m_CmdSend); m_NetStream = m_Client.GetStream(); m_NetStream.Write(m_Send...
  • TcpListener类与TcpClient类的使用
  • TcpClient通信Demo

    2018-07-11 20:13:15
    TCPClient,TCPListener通信Demo,对初学者非常具有参考价值
  • tcpclient1.rar

    2019-11-20 15:41:41
    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,本程序是基于QTcpsocket的客户端程序,可直接编译运行。
  • 支持 http/https get/post cookie 管理(兼容性好) gzip/deflate 自动解压内容 普通响应/chunk响应 重定向(防死循环重定向) 代理请求
  • STM32-RAW_TCPClient-master

    2019-01-03 11:19:17
    stm32开发板上的tcpclient开发代码。 本实验将实现如下功能:本实验采用LWIP的RAW编程方法实现TCP Client功能,默认开启DHCP自动获取IP地址。电脑端打开网络调试助手,网络调试助手做服务器,所以选择TCP Server协议...
  • VC 网络编程 TCPClient

    2018-06-19 19:03:25
    VC 网络编程,作为TCPClient,与服务器建立TCP连接。。
  • C#:TcpClient(客户端) and TcpServer(服务端) 的实例
  • 实现ftp客户端,能列出目录,上传下载文件,显示文件列表等选项,对服务器文件进行文件重命名、删除操作。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,721
精华内容 7,888
关键字:

tcpclient