华拓科技网
您的当前位置:首页正文

go tcp 怎么得知服务器发送fin

来源:华拓科技网

有网友碰到这样的问题“go tcp 怎么得知服务器发送fin”。小编为您整理了以下解决方案,希望对您有帮助:

解决方案1:

网络编程中,tcp socket读取到fin段是和读到EOF(End Of File)的表现是一致的。可以把fin看成是网络的EOF。

编程语言对EOF的设计不尽相同,golang我没搞过,就拿python和java举个例子。python的EOF为空字符串,java中的EOF值为-1。

场景:nc作为服务端监听60000端口,客户端连接,然后接收数据,服务端发送fin给客户端。

python作为客户端接收到协议栈中的fin,应用层sock.recv调用返回的EOF值为空字符串。

java作为客户端的通过socket的inputStream.read读取到的EOF值为-1。

go作为客户端的实现应该也差不多,就看go语言层面中对EOF映射成哪个值啦!

显示全文