主页
Top.Mail.Ru Yandeks.Metrika
论坛:“网络”;
当前存档:2002.04.01;
下载:[xml.tar.bz2];

向下

插座 找到类似的分支


anmak   (2001-11-02 16:49) [0]

Как возобновить работу умершего сокета?

Есть кусок кода в котором происходит облом.

FD_ZERO(fds);
FD_SET(S,fds);
case select(S+1,@fds,nil,nil,@one_second) of
SOCKET_ERROR: // error detected
开始
__close(s);
writeln("server down");
停止(1);
结束;

Тык вот как вместо
__close(s);
writeln("server down");
停止(1);

заставить сервер работать поновой неотваливая узе зацепленные коннекты.



Digitman   (2001-11-05 12:50) [1]

После __close(s) (надо понимать, в нем происходит CloseSocket(s) ?) ни о какой "реанимации" текущего соединения с клиентом не может быть и речи - ты сам разорвал соединение с клиентом, не разобравшись в истинных причинах SOCKET_ERROR. В этом коде нигде нет анализа причин возникшей ошибки (см. WSAGetLastError).
И вообще непонятно, зачем нужно терминировать процесс сервера, если произошел всего лишь некритический отказ в коммуникации с одним из клиентов (другие-то активные клиенты в чем виноваты перед сервером, что он их всех сразу "кидает" из-за разрыва связи с каким-то одним ?)



anmak   (2001-11-05 14:12) [2]

да действительно.. зачем?
большое спасибо я киляние убрал



KPOT   (2002-01-22 13:59) [3]

Pishu malen"kuju programmku s Socketami, niznaju kak pral"na dejstvovat" v takoj situacii:

inogda na onReceive Socket.ReceiveLength bol"she chem vozvrachaemoje znachenie Socket.ReceiveBuf. Ja tak ponimaju chto znachit prislali mne bol"she chem ja s4ital :((

Kak i kogda ja mogu s4itat" ostatok ???

Zaranee blagodaren



Digitman   (2002-01-22 14:22) [4]

如果有余数,则再次发生OnRead()事件。 在其处理程序中,读取下一个预期的部分,不大于ReceiveLength。 也就是说,每次发生OnRead()事件时,系统都会通知您数据套接字的接收缓冲区中的可用性,此时此接收缓冲区实际上是从连接伙伴接收到的,其大小为ReceiveLength字节。 你自己在这个特定的时刻(处理OnRead事件的那一刻)可以自由决定你需要从缓冲区读取所需大小的哪一部分(但不超过ReceiveLength字节)



Страницы: 1 整个分支

论坛:“网络”;
当前存档:2002.04.01;
下载:[xml.tar.bz2];

楼上









内存:0.56 MB
时间:0.019 c
3-11
DENN
2002-03-05 23:02
2002.04.01
大师!


1-90
谢尔盖萨夫
2002-03-21 12:07
2002.04.01
播放文件


7-327
尼古拉
2002-01-02 22:25
2002.04.01
登记册


1-150
Sindyashkin DV
2002-03-21 07:13
2002.04.01
DWG支持


1-173
德莱昂
2002-03-19 16:15
2002.04.01
如何将插件中的TMenuItem插入任何程序菜单?





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский