关闭套接字连接

Posted

技术标签:

【中文标题】关闭套接字连接【英文标题】:Close socket connection 【发布时间】:2012-05-16 23:47:17 【问题描述】:

我正在使用套接字连接到我的服务器。 问题是: 服务器接受连接。 关闭它并再次等待。

我使用 2 个套接字: 1个用于消息,另一个用于传输数据本身。 如何。

我使用关机(socket, 2);并关闭(套接字);

我尝试添加reuseaddr:

int i=1;
setsockopt(sockDesc, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(int));

谢谢

【问题讨论】:

通常每个套接字都有一个名称(引用)。 我怎样才能得到它,我如何? -1 你的问题太模糊了。您要关闭哪个套接字 - 消息套接字或传输套接字?到目前为止,您尝试了什么,哪些对您没有奏效? 【参考方案1】:

已解决,我刚刚添加了一个 sleep(1),现在可以了。 Remy Lebeau,我想关闭任何 socked,似乎当我关闭套接字时我需要等待很短的时间,这就是问题所在。

谢谢大家

【讨论】:

我不太明白您的问题描述,但您几乎可以肯定在关闭套接字之后/之前不需要睡觉。这没有道理。肯定有其他问题。 同意@Celada,睡眠不是关闭套接字的必要条件。 我也同意,如果我不做一点睡眠,似乎套接字没有关闭,似乎系统需要一些时间来完成它。在 linux 上没问题,但在 mac os x 上没有睡眠就无法工作。 我认为添加 sleep() 不是一个好主意...您的代码可能很容易被实时破解。

以上是关于关闭套接字连接的主要内容,如果未能解决你的问题,请参考以下文章

套接字在 32739 次连接后不会关闭

检测非阻塞套接字上的关闭连接

WSA UDP 套接字无法重用,因为它强制关闭连接

用于连接数据库的 Jdbc 连接与套接字连接 [关闭]

病毒扫描可以关闭 java TCP 套接字连接吗?

Winsock - 客户端断开连接,关闭套接字循环/最大连接数