社区
网络及通讯开发
帖子详情
结束任务 和结束进程
海嵌
2005-05-13 10:42:28
为什么程序: 客户端结束进程的方式 可以激发事件, 而结束任务不可以激发服务器端的事件!怎样避免这样的问题;
结束任务 和结束进程什么本质区别,请高手们指点谜经!
...全文
311
11
打赏
收藏
结束任务 和结束进程
为什么程序: 客户端结束进程的方式 可以激发事件, 而结束任务不可以激发服务器端的事件!怎样避免这样的问题; 结束任务 和结束进程什么本质区别,请高手们指点谜经!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icwin
2005-05-19
打赏
举报
回复
up
海嵌
2005-05-19
打赏
举报
回复
真不知道该怎么解决这个问题,客户端 结束任务 是使得TerverSocket的 ServerSocket1ClientDisconnect事件吗?!
看来问题反映出来的确如此!
只是猜测,或许错误或者还有别的原因;
那位大虾能给出点理论上的说明,不胜感激......
minsheng2113
2005-05-18
打赏
举报
回复
在客户端建立连接、发送消息和断开连接出错时,会触发TerverSocket的 OnClinentError事件!
海嵌
2005-05-15
打赏
举报
回复
void __fastcall ServerSocket1ClientError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
changeState(socket); //更改数据库中相对应字段的状态
ErrorCode=0;
}
void __fastcall TForm1::ServerSocket1ClientDisconnect(TObject *Sender,
TCustomWinSocket *Socket)
{
setState(Socket);//执行操作,左后还要更改数据库字段
}
客户段正常结束当然是正确的,如果客户采取非法措施比如结束任务,表现出来没有执行changeState(socket); 如果客户端采取结束进程的方式,于是正确了!
我又没有打算在客户端程序中隐藏任务管理器里的应用程序;
急需要解决方案,如果分数不够,可以再加分......
titan_ysl
2005-05-14
打赏
举报
回复
一楼误导,我说怎么楼主说的现象是反的。
楼主说的 结束任务 的是程序自己关闭, 结束进程 才是系统直接把该进程给Kill了。
titan_ysl
2005-05-14
打赏
举报
回复
在 ServerSocket1ClientError()更改数据库中相应字段项?
客户端正常结束时 在ClientSocket1->Active=false 后 ServerSocket1ClientError()是不会出现的。
更改数据库中相应字段项应在下面的事件
void __fastcall TForm1::ServerSocket1ClientDisconnect(TObject *Sender,
TCustomWinSocket *Socket)
{
}
或客户端在关闭前发送结束信息,服务端在
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
}
事件解析出结束信息再更改数据库。
海嵌
2005-05-14
打赏
举报
回复
程序是这样的,服务器端程序是在 ServerSocket1ClientError()更改数据库中相应字段项,如果客户端结束进程的话,可以正常的更改数据库中字段,同时正确显示断开与某Socket的连接;相应的,如果结束任务,只是在服务器端断开Socket的连接,并没有执行相应的更改数据库字段的操作。
郁闷!!!
titan_ysl
2005-05-14
打赏
举报
回复
问:束任务不可以激发服务器端的事件??
答:有的,是下面这个事件,从 Socket->RemoteHost可以得到出错的主机名,ErrorCode=0 系统就不报错了。
void __fastcall TForm1::ServerSocket1ClientError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
}
//---------------------------------------------------------------------------
happyct
2005-05-13
打赏
举报
回复
个人理解:客户端自己结束,是由自己来控制各种资源的释放,同时也给了自己处理各种消息的机会
结束任务的是系统直接把该进程给Kill了。事先(是否会通知)该进程呢?应该不会吧。
minsheng2113
2005-05-13
打赏
举报
回复
up
海嵌
2005-05-13
打赏
举报
回复
那么应该怎么处理呢?!
自己顶顶
C# 禁止
结束
进程
,保护
进程
不被
结束
(源代码)
C#,保护
进程
,通过VisualStudio.NET2005平台,控制系统不能
结束
自身
进程
,控制系统不能
结束
指定
进程
,已经生成了一个动态链接库,方便调用,(C#工程源代码),具体内容访问:...
结束
进程
和
结束
进程
树有什么区别?
结束
进程
”与“
结束
进程
树”是用来
结束
一个或多个
进程
用的。
进程
树也许你是头回听说,我这里想解释一下。所谓
进程
树实际上就是一组
进程
,而这一组
进程
(子
进程
)是由一个
进程
(父
进程
)创建的。当你选择“
结束
进程
...
(亲测)使用cmd
结束
进程
的3种方法
今天秋水介绍一下不用任务管理器来
结束
进程
。点击电脑桌面的左下角“开始”菜单或 windows键+R键输入cmd回车;输入tasklist回车以显示
进程
,如图:重要:同一个应用打开关闭再打开,pid会变化,所以每次操作前请...
任务管理器无法
结束
进程
今天U大侠小编就和大家说说解决任务管理器无法
结束
进程
的小技巧吧! 任务管理器 方法一、 1、首先打开开始菜单中的运行,在运行对话框中输入“CMD”。回车打开命令提示符窗口; 2、在打开的命令提示符...
结束
计算机
进程
的快捷键,
结束
进程
快捷键是什么?Win7
结束
进程
快捷键介绍
进程
太多会让系统变卡,所以这时我们就需要
结束
进程
,也有很多...3、还可以用Ctrl+Alt+Del选择任务管理器来
结束
任务
,另外在任务管理器中,
结束
任务
的快捷键是Alt+E。(Ctrl+Shift+Esc,直接调出任务管理器)4、当然也...
网络及通讯开发
1,316
社区成员
8,873
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章