Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 异步套接字服务器和AS3闪存应用程序-未处理用户断开连接_C#_.net_Actionscript 3_Sockets - Fatal编程技术网

C# 异步套接字服务器和AS3闪存应用程序-未处理用户断开连接

C# 异步套接字服务器和AS3闪存应用程序-未处理用户断开连接,c#,.net,actionscript-3,sockets,C#,.net,Actionscript 3,Sockets,我有两套代码供您查看,这两套代码都可以在PasteBin中找到: 首先是我的c#套接字服务器: 第二个是我在AS3应用程序中的代码: 在代码中,我试图做的是一个简单的发送/接收,看看会发生什么。如果我在两个实例中打开我的应用程序,c#套接字服务器会注册它们存在,并且一切正常!。如果我关闭一个实例,c#服务器仍然认为用户存在,而套接字没有关闭 我的代码基于以下示例: 在MS示例中,将以下行添加到SendCallBack()函数中: handler.Shutdown(SocketShutdown.B

我有两套代码供您查看,这两套代码都可以在PasteBin中找到:

首先是我的c#套接字服务器:

第二个是我在AS3应用程序中的代码:

在代码中,我试图做的是一个简单的发送/接收,看看会发生什么。如果我在两个实例中打开我的应用程序,c#套接字服务器会注册它们存在,并且一切正常!。如果我关闭一个实例,c#服务器仍然认为用户存在,而套接字没有关闭

我的代码基于以下示例:

在MS示例中,将以下行添加到SendCallBack()函数中:

handler.Shutdown(SocketShutdown.Both)
handler.Close()

这些肯定会关闭插座,这是我不想发生的事情

我是socket编程新手,我花了相当长的时间来使用MS示例,使其大致按照我的需要工作。唯一的问题是确认用户断开连接,以便我可以从服务器中设置的客户机列表中删除该用户。此外,当确认断开连接时,我可以通知其他客户


谢谢大家

关闭套接字不会影响您的侦听器,它只会影响当前连接。你为什么说这不是你想要的


听起来这正是您想要的。

关闭套接字不会影响您的侦听器,它只会影响当前连接。你为什么说这不是你想要的


听起来这正是您想要的。

每次尝试向用户发送数据时,我都会快速检查传输是否成功/轮询用户,如果失败,则会将用户从服务器中删除。

每次尝试向用户发送数据时,我都会快速检查传输是否成功/轮询用户,如果失败,用户已从我的服务器中删除。

当我关闭客户端时,服务器不知道客户端已关闭。如果数据发送失败,我是否应该尝试发送到客户端并断开连接?请看,建议轮询客户端。当我关闭客户端时,服务器不知道客户端已关闭。如果数据发送失败,我是否应该尝试发送到客户端并断开它的连接?看一看,建议轮询客户端。套接字服务器不应该依赖客户端通知服务器它正在断开连接。话虽如此,我对c#sockets还不够熟悉,无法在这里为您提供帮助,但我可以告诉您,在PHP中,它将触发一个更改,此时我测试读取缓冲区并测试长度,如果长度为0,我将其视为断开连接并清除该客户端。当客户端断开连接时,您正在使用的套接字类应该触发某种类型的更改事件。我希望这在某种程度上对您有所帮助。套接字服务器不应该依赖客户端通知服务器它正在断开连接。话虽如此,我对c#sockets还不够熟悉,无法在这里为您提供帮助,但我可以告诉您,在PHP中,它将触发一个更改,此时我测试读取缓冲区并测试长度,如果长度为0,我将其视为断开连接并清除该客户端。当客户端断开连接时,您正在使用的套接字类应该触发某种类型的更改事件。我希望这对你有所帮助。