2014-10-20 31 views
1

你好,我已经无意中发现了一个奇怪的问题上IOS 8.0.2IOS 8.0.2不会在套接字关闭发送TCP FIN

我的应用程序使用POSIX API来创建TCP套接字连接到服务器,并发送一些数据在它上面。在和close()被套接字句柄调用并且程序终止。 我已经说过,只有在程序退出后,TCP FIN数据包才会发送到服务器。 为了克服这个问题,我必须在套接字上使用shutdown()调用。 任何想法为什么发生这种情况? 也许是因为套接字在一个线程中创建并在另一个线程中关闭?

+0

你有没有解决这个问题或解决这个问题? – Ashok 2015-10-19 09:12:28

回答

0

您必须使用shutdown来启动FIN序列。请注意,关闭只会给内核一个命令,以启动与进程调用关机异步的进程。关闭调用只会释放套接字的资源。