1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 改善C#中socket通信机客户端程序的健壮性

改善C#中socket通信机客户端程序的健壮性

时间:2019-09-11 05:53:58

相关推荐

改善C#中socket通信机客户端程序的健壮性

改善C#中socket通信机客户端程序的健壮性,改善C#中socket通信机客户端程序的健壮性

我是做Socket的新手,最近做了一个Socket客户端程序,连接Server的时候,如果server存在,并且允许连接的话,程序无错,正常执行;但是如果Server不存在,或者拒绝连接,程序就会卡住,此时不提示出错。开始我以为是没有Catch异常,但是检查了程序,异常情况都Catch掉了,程序还是卡。

请各位大虾帮忙指正!谢谢,以下是我这个模块的代码!

using System;

using ;

using ;

using ;

using ;

using ;

using ;

namespace 测试程序

{

/// <summary

/// ClassClient 的摘要说明。

/// </summary

public class ClassClient

{

//方法

public ClassClient()

{

//

// TODO: 在此处添加构造函数逻辑

//

}

//函数

#region socket通信机连接函数

/// <summary

/// socket通信机连接函数

/// </summary

/// <param name="remoteEP"远程终端</param

/// <param name="client"建立客户端</param

public byte SocketConnect(EndPoint RemoteEP, Socket Client)

{

//调用系统连接函数

(RemoteEP,new AsyncCallback(ConnectCallback), Client );

();

return(1);

}

#endregion

#region socket连接返回函数

/// <summary

/// socket连接返回函数

/// </summary

/// <param name="ar"表示异步操作的状态</param

private static void ConnectCallback(IAsyncResult ar)

{

try

{

// 获取socket连接实例

Socket client = (Socket) ;

// 完成连接过程.

();

// 置位连接完成标志

();

// 得到连接成功信息

ConnectInfo="连接成功!";

}

catch (Exception e)

{

// 得到连接失败信息

ConnectInfo= ();

// 结束连接

();

}

}

#endregion

#region socket通信机关闭函数

/// <summary

/// socket通信机关闭函数

/// </summary

/// <param name="Client"需关闭的socket通信实例</param

public byte SocketClose(Socket Client)

{

try

{

if (Client!=null)

{

//如果仍然产生通信信息,则禁用

if ()

{

Client.Shutdown(SocketShutdown.Both);

}

//关闭socket通信

Client.Close();

//获得关闭成功信息

CloseInfo = "通信机已关闭!";

}

return(1);

}

catch (Exception e)

{

//获得关闭通信失败信息

CloseInfo = ();

return(0);

}

 

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。