比如客户端发起一个请求 但是服务器响应要10秒 但是用户在第5秒就关闭了浏览器 那么能不能这时候服务器停止内部的逻辑处理
深圳--付
比如客户端发起一个请求 但是服务器响应要10秒 但是用户在第5秒就关闭了浏览器 那么能不能这时候服务器停止内部的逻辑处理 节约资源
情傷
这个我没试过
深圳--付

情傷
@我来自台湾 台湾兄来解答一下
深圳--付
台湾兄好久没来了吧
我来自豪宅
谁说的
深圳--付
是不是那边的网络被限制了
我来自豪宅
昨天还问他问题呢
深圳--付
好吧 眼神不好
我来自豪宅
错了是27号
白金-白菜
台湾兄???
Fierce eagle
浏览器关了以后,代码还继续运行
因为http是无状态的
因为http是无状态的
深圳--付
继续运行 我知道
Fierce eagle
服务器不知道你关没关
深圳--付
但是能不能获取到客户端放弃等待 然后结束逻辑处理
应该是可以的 不过这是底层

应该是可以的 不过这是底层

Fierce eagle
理论上可行,真做太麻烦
深圳--付
这上面说http是在 tcp/ip 之上 那么tcp/ip会先断开
我来自豪宅
用websocket?
深圳--付
不是
单纯http
单纯http
我来自豪宅
@Fierce eagle 你要达到的是不是检测用户浏览器关闭
Fierce eagle
因为每个http请求都会开一个新进程
深圳--付
@我来自豪宅 是的
我来自豪宅
你的什么功能需要这样?
深圳--付
比如客户端发起一个请求 但是服务器响应要10秒 但是用户在第5秒就关闭了浏览器 那么能不能这时候服务器停止内部的逻辑处理 节约资源
Fierce eagle
根本不知道要关哪个进程
深圳--付
应该是知道的
我来自豪宅
先说下你的功能需求
我来自台湾
不能
风轻云淡
无状态的
深圳--付
http 在tcp/ip 之上
那么http的响应结果是通过tcp/ip通道发送过去的
那么http的响应结果是通过tcp/ip通道发送过去的
风轻云淡
你客户端不发请求,服务端是没办法的
我来自台湾
這問題跟SQL一樣
我来自豪宅
我觉得你的设计有问题
深圳--付
@我来自台湾 台湾哥 分析下
我来自台湾
下了SQL command後 即使暫停了
我来自豪宅
应该换个方式实现
我来自台湾
SQL內部還是持續進行
深圳--付
@我来自台湾 对呀
Fierce eagle
发请求也没办法,因为开了个新进程
/bb 7ang-_-
杀掉session
我来自台湾
之前有人問過我類似問題
我自己推測的因素是
我自己推測的因素是
我来自豪宅
@我来自台湾 我觉得是可以,因为可以通过http发送信息
深圳--付
如果用户放弃等待 其实服务器运算出结果也无法响应到用户那里了
我来自台湾
我這麼說好了
深圳--付
其实就没必要在继续运行了
我来自台湾
你的程序已經開始運行了
Miles
台湾哥膨胀了啊
我来自台湾
先別管web
Fierce eagle
除非你用socket通信,保持长链接
Miles
现在都当上管理员了
我来自豪宅
@Fierce eagle 不过如果是强制结束进程肯定是不行的
我来自台湾
你自己寫個thread
我来自豪宅
@我来自台湾
我来自台湾
你要如何中斷
一個thread運行中
一個thread運行中
深圳--付

我来自台湾
你要如何中斷他
透過abort對吧
那麼問題來了
這種強制結束的做法
會不會產生後遺症
譬如程序正在寫文檔
被強制中斷
文檔就損毀了
所以基本上 asp.net無法預期你的程序會做啥事情
所以他不可能這樣搞
透過abort對吧
那麼問題來了
這種強制結束的做法
會不會產生後遺症
譬如程序正在寫文檔
被強制中斷
文檔就損毀了
所以基本上 asp.net無法預期你的程序會做啥事情
所以他不可能這樣搞
linkin↑park
我问的...
深圳--付
我主要是想 如果一个比较耗费资源的请求 发起了很多 但是用户放弃了等待
我来自台湾
可以做到的
深圳--付
比较浪费服务器的资源
我来自台湾
但不是從web程序處理
linkin↑park
@Fierce eagle 这个回答 你够了
我来自台湾
我現在做法是這種長時程運行的程序
用quartz在背景運行
用quartz在背景運行
Fierce eagle
换个角度想,假如你不用浏览器直接通过程序请求
我来自台湾
quartz提供可以job中斷的方法
job去實現即可
job去實現即可
深圳--付
6666
我来自台湾
在web的程序不適合長時間運行
要做長時間運行的程序
要做長時間運行的程序
我来自豪宅
@深圳--付 如果你要求不高可以在浏览器关闭页面发送信息要求终止
我来自台湾
一定是背景運行
把http當作一個命令請求器去看待
高併發問題也是如此
如果要在一個request就把所有事情完成
是有問題的
把http當作一個命令請求器去看待
高併發問題也是如此
如果要在一個request就把所有事情完成
是有問題的
深圳--付
那一般怎么处理
白金-白菜

我来自台湾
都是異步機制
深圳--付
目前基本上都是等一个request处理所有逻辑
异步是有使用的
异步是有使用的
白金-白菜
台湾哥V5
Fierce eagle
有这想法还不如想办法优化响应时间
优化下数据库什么的
优化下数据库什么的
我来自台湾
我說的异步 不單單指同一進程
深圳--付
@Fierce eagle 优化是有极限的
中间件这块是吧
中间件这块是吧
我来自豪宅
@深圳--付 你能说说你想实现什么功能码?
深圳--付
@我来自豪宅 我的天 讲了这么 你还不知道说啥么
你翻下聊天记录
你翻下聊天记录
我来自豪宅
我没看你上面说的
我翻翻
我只知道你想判断浏览器关闭然后去中断服务器上的任务
你是想导出文档吗
我翻翻
我只知道你想判断浏览器关闭然后去中断服务器上的任务

Fierce eagle
就是说电脑突然断电也要终止服务器任务
深圳--付
对呀 文档就是这个
你们聊天记录慢慢看吧

我来自豪宅
如果不要求判断断点这种情况,我觉得你用浏览器关闭事件就行了
断电
最好的肯定是台湾哥那种做法
不然页面跳转什么的你都要处理
断电
最好的肯定是台湾哥那种做法
不然页面跳转什么的你都要处理
深圳--付
恩
恩
@我来自台湾 台湾哥 Quartz 是针对java的吧 你不是做net吗?
恩
@我来自台湾 台湾哥 Quartz 是针对java的吧 你不是做net吗?
我来自台湾
quartz有.net版本呀
我来自豪宅
我之前公司做一个视频播放,要记录用户看到哪里,为了防止断电什么的情况,然后前台每10秒左右就要发个请求到服务端,那并发
有点可怕
有点可怕
深圳--付
然后呢
我来自豪宅
@我来自台湾 quartz对这种情况适不适用?
然后专门放了服务器用来给这个请求连接好像
然后专门放了服务器用来给这个请求连接好像
我来自台湾
還有個東西
專門處理這事情的
Hangfire
這種問題早有人搞了...
Hangfire連UI都幫你做好了
就是用來處理web長時程運行的問題
專門處理這事情的
Hangfire
這種問題早有人搞了...
Hangfire連UI都幫你做好了
就是用來處理web長時程運行的問題
深圳--付
这玩意挺火的吧
前几天看到了 打算这几天深入研究呢
前几天看到了 打算这几天深入研究呢
popasp开源mvc框架,支持mssql mysql
@我来自豪宅 记录到cookie不就行了?
我来自豪宅
断电你能记录啥
而且观看进度要记录到服务端
而且观看进度要记录到服务端
popasp开源mvc框架,支持mssql mysql
每隔一段时间记录到cookie
发到后台的时候先保存到内存中
发到后台的时候先保存到内存中
我来自豪宅
用户可能回家登录账户啊
所以一定是要存到服务端
所以一定是要存到服务端
popasp开源mvc框架,支持mssql mysql
嗯
我没有做过视频系统
我没有做过视频系统
我来自豪宅
我也没,那块不是我做
@我来自台湾 我看了下,Hangfire好像是后台定时执行任务
我要返回前台视频的观看进度呢?
@我来自台湾 我看了下,Hangfire好像是后台定时执行任务
我要返回前台视频的观看进度呢?
popasp开源mvc框架,支持mssql mysql
我做过投票系统,是将数据先记录到内存,走了量外保存到数据库
我来自台湾
Hangfire我不是很了解
我来自豪宅
是不是用Hangfire也能办到捕捉浏览器关闭前执行
我来自台湾
因為我用quartz
我来自豪宅
哦好的
quartz能办的到吗?
quartz能办的到吗?
我来自台湾
你這需求 我是自己搞一個機制的
深圳--付
@我来自豪宅 你那个播放的视频资源 不可以直接对视频流控制吗
我来自豪宅
你的大概思路是什么呢
@深圳--付 因为他们用的是ie的视频控件,服务端取不到进度,要是用flash就行了
@深圳--付 因为他们用的是ie的视频控件,服务端取不到进度,要是用flash就行了
深圳--付
IE的视频控件?
我来自豪宅
我不知道iis的API能不能获取到
深圳--付
自己写的?
我来自豪宅
就是那个html标签
mutudu
ActiveX?
我来自台湾
瀏覽器播影片
早期瀏覽器梅支持串流
所以在標準情況下無法做串流
只能整個檔案下載後 才能撥放
因為早期沒支持
所以要跨過瀏覽器處理
因此得靠flash activex這些插件
簡單來說就是自己搞
而html5已經有串流協議
所以這也是為什麼現在是頻網站都改用html5
因為flash activex這種技術不是所有平台都支持
即使支持對於開發的成本太高
畢竟不是標準
早期瀏覽器梅支持串流
所以在標準情況下無法做串流
只能整個檔案下載後 才能撥放
因為早期沒支持
所以要跨過瀏覽器處理
因此得靠flash activex這些插件
簡單來說就是自己搞
而html5已經有串流協議
所以這也是為什麼現在是頻網站都改用html5
因為flash activex這種技術不是所有平台都支持
即使支持對於開發的成本太高
畢竟不是標準
相关问题
------分隔线----------------------------
- 赞助商链接
-
- 热点内容
-
- MVC里的验证问题,如果是系统定义的验证,如 “不能为空”验证,那么系统自动进行 客户端验证,如果验证通过再 服务端验证,但 自定义的验证,只能进行 服务端验证吗?
- 可以请求个php文件,然后php里执行curl请求怎么样
- 我的服务器开启了VPN,PHP访问google的接口获取数据,请问客户端怎样做,不开VPN可以获取到数据?
- java修改request请求参数 有大神 知道吗?
- SpringMVC过滤器只能过滤请求么?
- MVC里的验证问题,如果是系统定义的验证,如 “不能为空”验证,那么系统自动进行 客户端验证,如果验证通过再 服务端验证,但 自定义的验证,只能进行 服务端验证吗?
- 微信公众平台用户几十万粉丝进行分组,但是微信平台有一些接口次数请求限制,谁有好的方案?
- 获取客户端ip and连接strcasecmp判断的数值这个if有什么意义
- 客户端应用连接不到服务器,求大咖指导描述:最近在虚拟机上装了浪潮ERP,客户端也装完后发现有个模块始终无法使用,或者说是能正常使用半个小时,然后就断了背景:浪潮ERP版本很老很老了,数据库是Oracle自诊:1.重装ERP,结果一样;2.ping的通,所以
- 赞助商链接
-
- 推荐内容
-
- 请问一下php5.6.28怎么扩展oracle,我在php.ini里去掉了注释extension=php_oci8_12c.dll和extension=php_pdo_oci.dll,没有效果。。。。12c的客户端已经添加到环境变量里了~
- 时间戳就代表的客户端发消息的时间 服务器收到消息之后和服务器自己的时间对比 根据速度算出相差了多少距离 想办法把这段距离补回来
- php用curl去请求,返回来这个?请问这是什么原因?我在谷歌测试都可以正常
- thinkphp3.2版本 数据请求回来后 页面刷新了 是怎么回事?
- 移动App如何实践单点登录移动应用实现单点登录,分析下面两种需求:需求一: 账号在正在设备A上使用(应用是设备A上当前活动应用), 若设备B上用该账号登录应用,要求设备A上的账号立即退出。解决办法: 应用客户端上做
- 分布式存储一般就是nginx 先找 tracker ,tracker查数据库,然后告诉nginx,nginx再查找storage,storage再返回给nginx,nginx再到客户端
- 服务器至少能支持每秒1500次的访问压力,且每次访问的响应时间200ms以内,有人知道这个用apachebench如何测试?
- 3DMax柜子竖下来这条隔板我要把它切割掉,为什么切不成功,我用SL命令,请求大神帮忙我这个小白
- ...谁来教我下怎么安装这ps啊- - 这一部没出现响应代码啊
- 在客户端中验证过不能为空的表单字段 有必要在后台再验证一次吗?
- nginx的php-fpm怎么把处理结果正确返给nginx,哪么多进程调用为何没有把张三请求返回给李四?你来给我写个算法。
- 各位请教下我这样设置支付授权目录支付发起文件在demo下但是提示我url未注册如果我把测试目录改成尾部增加demo的,就可以支付为啥支付授权目录不生效,只有测试授权生效?
- 我客户端 执行效率跟不上 服务端传数据的频率 用线程池可以解决吗? 每一条消息单独处理
- 还有一个问题 ping值 是什么机制? 客户端查看延迟 延迟是依据什么?
- @白菜大叔 静态IP和动态IP不仅仅是ip不变.在电信网络里面的响应速度都会提高很多有优先级的
- U3D想实现一个功能,一个服务器端 一个客户端,服务所显示的界面 完全显示到客户端 服务器生成一个模型 客户端也生成一个模型
- 做网络游戏的客户端大多都是些拼ui的程序员
- Asp.net同一个客户端的两个线程调用webservice的两个接口,可以吗
- php请求一个 地址为1秒 ,请求五个 相同地址是不是5秒?
- 请问 后台设置的超时时间为5秒 为什么,他不是等五秒后超时,而是等所有请求完毕后加起来的?