`
aigo
  • 浏览: 2537809 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]FSocket client客户端如何检测与server服务端断开链接

UE4 
阅读更多

目前FScoket无法做到感知服务端关闭tcp链接,要做到只能通过两种其他方式:

1,使用BSD socket(建议使用non-blocking mode,因为这样方便终止接收线程);

2,客户端发送心跳包给服务端,如果没有得到回应则认为关闭。

 

下面方法仅适用于客户端自己关闭连接,如果是服务端关闭是没法感知的

if (Socket->GetConnectionState() != SCS_Connected)
{
	// Socket disconnected 
}
else
{
	if (Socket->HasPendingData(Size))
	{
		Socket->Recv(Data, MaxBuffer, BytesRead);
	}	
}

 

之前在answerhub上提了一个bug说明这个情况,但是得到的回复是让我仔细检查自己的代码,说FSocket就是基于BSD实现的, 本来想直接贴代码给他解释下的,但是感觉麻烦不想折腾。

 

参考:

FSocket - How to handle client disconnection

https://answers.unrealengine.com/questions/265930/fsocket-how-to-handle-client-disconnection.html

 

分享到:
评论

相关推荐

    php自定义类fsocket模拟post或get请求的方法

    主要介绍了php自定义类fsocket模拟post或get请求的方法,涉及php使用socket模拟post及get请求的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    修改后的socketsvr源码

    ioctlsocket(FSocket, FIONREAD, Longint(Result)) else begin if not FConnected then Exit; if ioctlsocket(FSocket, FIONREAD, iCount) = 0 then {##ADD} begin if iCount Count := icount; {##ADD} end...

    php中curl、fsocket、file_get_content三个函数的使用比较

    最近做一个网页小偷程序的时候才发现file_get_content已经完全不能满足需求了。我觉得,在读取远程内容的时候,file_get_content除了使用比curl便捷以外,其他都没有curl好

    小蜜蜂采集器 v2.1 Build 0423

    6、支持链接替换、分页链接替换,破解某些使用JS/后台程序设置的防采功能; 7、支持采集器设置无限过滤功能; 8、支持图片采集保存到本地,自动替换文件名避免重复; 9、支持FLASH文件采集保存到本地,自动替换...

    Sakemail

    seems that some servers can‘t deglut the info too fast, causing problems with sockets buffers and leading to crash the client machine, I don‘t know if is a Borland bug or Microsoft bug. (thanks to ...

    php fsockopen伪造post与get方法的详解

    复制代码 代码如下:<?php//fsocket模拟post提交$purl = “http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr”;...//fsocket模拟get提交function sock_get($url, $query){ $info = parse_url($url); $fp =

    php发送post请求的三种方法

    主要介绍了php发送post请求的三种方法,分别使用curl、file_get_content、fsocket来实现post提交数据,需要的朋友可以参考下

    发送POST请求的三种方式的php类

    一个发送POST请求的三种方式的php类,PHP发送POST请求的三种方式 分别使用curl file_get_content fsocket 来实现post提交数据。

    发送POST请求的三种方式的php类.zip

    介绍一个发送POST请求的三种方式的php类,PHP发送POST请求的三种方式 分别使用curl file_get_content fsocket 来实现post提交数据。

    mailtrap:Codeigniter 邮件陷阱 API 库

    用于 Mailtrap api 的 curl 或 fsocket 库,用于查看电子邮件内容、更新和删除。 邮件陷阱文档: ://docs.mailtrap.apiary.io/ 安装 将文件从各自的文件夹复制到相关的 codeigniter 存储库。 用法 在您的 ...

    利用PHP fsockopen 模拟POST/GET传送数据的方法

    $arr=array( ...//fsocket模拟get提交 function sock_get($url,$query=array()){ $query_str = http_build_query($query); $<span id="_nwp" style="width: auto; height: auto; float: none

    php发送http请求的常用方法分析

    3. fsocket发送。 下面说使用curl发送。 首先环境需要配置好curl组件。 在windows中让php支持curl比较简单: 在php.ini中将extension=php_curl.dll前面的分号去掉, 有人说需要将php根目录的libe

Global site tag (gtag.js) - Google Analytics