社区
Linux/Unix社区
帖子详情
急:如何关闭此socket?
newhare
2004-04-19 03:02:08
while(1)
{
rs = accept(socket, ....);
if ( pthread_create(....) )
......
}
问:在上面程序中,如何退出循环呢?
...全文
19
14
打赏
收藏
急:如何关闭此socket?
while(1) { rs = accept(socket, ....); if ( pthread_create(....) ) ...... } 问:在上面程序中,如何退出循环呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hatecoding
2004-04-23
打赏
举报
回复
如果在一个线程中,很简单阿
不要用while( 1 )
设置一个全局的信号变量terminate,用while ( terminate )
通过主进程或其他线程控制terminate,来控制该线程
newhare
2004-04-22
打赏
举报
回复
如果这段程序在一个线程中呢,采用信号的方法好象会影响所有的线程,此时又该怎么退出呢。
wangjinhu
2004-04-21
打赏
举报
回复
if(setjmp(position)==1)
goto my_quit;
signal(SIGIT,catch());/*catch()函数中含有longjmp(position,1)*/
while(1)
{
rs = accept(socket, ....);
if ( pthread_create(....) )
......
}
my_quit:
yuanlei1978113
2004-04-20
打赏
举报
回复
shutdown();
close();
newhare
2004-04-20
打赏
举报
回复
顶一顶
wangjinhu
2004-04-20
打赏
举报
回复
早说阿!哈哈signal(),加上longjmp
jkjium
2004-04-19
打赏
举报
回复
你可以捕捉SIGHUP,自定义它的处理程序做清理工作。想重起的时候kill -HUP pid不就行了
newhare
2004-04-19
打赏
举报
回复
没错,作服务器一般情况下不退出的,但服务器有时候也得关机吧,或者因为其他原因需要重启吧,我是想在程序退出的时候,先跳出循环,然后执行循环后面的清理工作。因为当我按ctrl+c时,程序就直接退出了,但是循环外的代码没有执行,比如一些内存的释放,数据库的连接等。
各位:我知道用 break 可以跳出循环,问题在于,accept后,程序阻塞了,即使有break也无法执行,除非先accept到一客户端连接。我一直想不明白,请各位帮帮忙。
wxywh
2004-04-19
打赏
举报
回复
在退出(break)之前close套接子即可.
rexp
2004-04-19
打赏
举报
回复
作服务器,干吗要退出循环呢?
要退出,也是收到了信号,用户发出的。
gaoxianfeng
2004-04-19
打赏
举报
回复
信号!
rzsheng
2004-04-19
打赏
举报
回复
break;
wangjinhu
2004-04-19
打赏
举报
回复
goto?
longjump?
newhare
2004-04-19
打赏
举报
回复
有没有人帮帮我啊
android面试题大全
然后不要
关闭
模拟器(关掉再开动态库就没了,因为模拟器rom是只读) 执行java程序JNITest 会看到屏幕上打印出 JNITest Native String 6.细谈四大组件 activity 1.什么...
python网络请求(一)
socket
UDP 创建
Socket
...s =
socket
.
socket
(
socket
.AF_INET,
socket
.SOCK_DGRAM) 发送数据 from
socket
import * udp_
socket
=
socket
(AF_INET, SOCK_DGRAM) udp_
socket
.sendto("你好".e...
Socket
通信
套接字(
socket
)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和
关闭
等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP...
NIO与
Socket
笔记 :实现
Socket
通信[ 三 ]
Socket
类的使用 Server
Socket
类作用是搭建
Socket
的服务端环境, 而
Socket
类的主要作用是使 Server 与 Client进行通信。 绑定 bind 与 connect 以及端口生成的时机 public void bind (
Socket
Address ...
C++知识梳理
???? Github | ????... 本仓库是面向 C/C++ 技术方向校招求职者、初学... 侧边目录支持方式:???? Docsify 文档、Github + TOC 导航(TOC预览.png) ???? 保存为 PDF 方式:使用 Chrome 浏览器打开 ???? Docsify
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章