`
baiwenwo
  • 浏览: 67682 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

c#_判断Tcp连接是否可用(Connected)

阅读更多

//use funciton isConnected to judge if the tcp connection is available
public bool isConnected(Socket socket)
        {
            try{
                if( socket.Connected && socket.Poll( 0, SelectMode.SelectRead ) )
                {
                    byte[] msg = new byte[ 1 ];
                    if( socket.Receive( msg, 0, 1, SocketFlags.Peek ) != 0 )
                        return true;
                    else
                        return false;
                }
            }
            catch( SocketException e )
            {
                string expMsg = "错误信息:\n" + e.ToString();
                MessageBox.Show( expMsg, "socket状态检查出错..." );
            }
            return socket.Connected;
        }

分享到:
评论

相关推荐

    CS.rar_TCP转串口_串口 TCP_串口与TCP在C#_串口转tcp

    反之,如果你想将串口接收到的数据发送到TCP服务器,可以监听串口事件并在数据可用时读取,然后将这些数据写入`TcpClient`的`NetworkStream`。以下是一个基本的实现: ```csharp using System.IO.Ports; ...

    c# socket 通信demo 亲测可用,断开连接事件

    因此,建议在尝试发送数据时捕获`SocketException`异常来判断是否断开连接。例如: ```csharp try { clientSocket.Send(data); } catch (SocketException ex) { // 处理断开连接 } ``` 7. **实现重连功能**...

    C#TCP简易聊天室

    本项目“C# TCP简易聊天室”就是一个利用C#进行TCP网络编程的实际应用,旨在帮助开发者了解和掌握如何通过TCP协议实现异步通信,创建一个简单的多用户聊天环境。 TCP(Transmission Control Protocol)是一种面向...

    C# socket学习所得 关于TcpListener与TcpClient

    - `TcpClient`类提供了一些属性,如`Connected`属性,可用于检查当前连接是否处于活动状态;`Available`属性可以用来查询当前流中可读取的数据量。 #### 二、TcpListener 类详解 `TcpListener`类主要应用于服务端...

    C#socket通讯两个最经典错误解决方案

    - `stsend.Connected`:检查 Socket 上次的操作是 Send 还是 Receive 形式连接到远程主机,如果不是这两种情况,则表明连接已被断开。 **扩展说明** 在 C# 编程中,对于非托管资源(如数据库连接、Socket 连接等)...

    C#Socket编程笔记

    // 当有可用的客户端连接尝试时执行,并返回一个新的 socket, 用于与客户端之间的通信 IPEndPoint clientip = (IPEndPoint)client.RemoteEndPoint; Console.WriteLine("Connected with client: " + clientip....

    服务器为每一个连接客户端产生一个线程,这样接受多个连接

    1. **初始化**: 在服务器类的构造函数中,创建了一个`TcpListener`对象来监听所有可用的IP地址(`IPAddress.Any`)上的端口3000,并启动了一个线程`listenThread`来持续监听客户端的连接请求。 2. **监听客户端连接...

    TcpClient 异步读取数据

    因此,通常建议在发送或接收数据时捕获异常来判断连接是否断开。 此外,为了保持连接的可靠性,可以定期发送心跳包(Heartbeat)。心跳包是一小段数据,用于确认连接仍然有效。如果一段时间内没有接收到心跳包,...

    简单的聊天程序

    在本文中,我们将深入探讨如何使用C#编程语言构建一个简单的聊天程序,特别是服务器端的实现。C#是一种由微软开发的面向对象的编程语言,它具有强大的功能和丰富的类库,非常适合构建网络应用程序,包括聊天系统。 ...

    Unity3D中的Socket通信2

    该函数首先检查Socket对象是否为空以及是否已连接。如果满足条件,它会尝试调用`Send`方法将字节数组发送出去。如果发送过程中出现异常,同样会输出错误信息。 ```csharp public static void Send(byte[] bytes) { ...

Global site tag (gtag.js) - Google Analytics