A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-26 #2 哪个超时时间? connecting时? 还是connected之后server不响应的时间?
L leige Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-26 #3 连接时的时间和连接后SERVER的不响应时间都需要。 另:如传送一组数据中断了怎么办。 有没有TclientSocket TserverSocket的多线程的例子
L leige Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-27 #5 》自己设定一个定时器也可以! 自己设,具体怎么做?另:TCLIENTSOCKET的缺省超时是45秒左右。
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-27 #6 简单啦, 定时ping server不就成了? 另: TClientSocket的缺省时是45秒左右指的是连接时. 连接之后好象clientsocket就死人 不管了
J jineric Unregistered / Unconfirmed GUEST, unregistred user! 1999-06-28 #8 我觉得你应该使用阻塞方式。 在客户端的线程代码里,通过TWinSocketStream对象来操作读写。 如: stream:=TWinSocketStream.Create(ClientSocket1.socket,10000); //如果在10秒内操作还没有完成,就会超时,然后自动断开 在服务器端,Delphi将为每一个阻塞方式的连接自动分配一个新的线程 ,用TServerClientThread来操作每一个线程。所有不能用对象库里的向导 创建线程对象,只能手工建立一个TServerClientThread派生类,然后override 方法ClientExecute.
我觉得你应该使用阻塞方式。 在客户端的线程代码里,通过TWinSocketStream对象来操作读写。 如: stream:=TWinSocketStream.Create(ClientSocket1.socket,10000); //如果在10秒内操作还没有完成,就会超时,然后自动断开 在服务器端,Delphi将为每一个阻塞方式的连接自动分配一个新的线程 ,用TServerClientThread来操作每一个线程。所有不能用对象库里的向导 创建线程对象,只能手工建立一个TServerClientThread派生类,然后override 方法ClientExecute.
Z zaoya Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-01 #9 参见已答案问题。 请见告: TServerClientThread的ClientExecute中如何处理客户端的 disconnect,如客户端用Java Applet,用户用完后未disconnect就关 闭browser,这样会导致服务端的异常,怎样处理?
参见已答案问题。 请见告: TServerClientThread的ClientExecute中如何处理客户端的 disconnect,如客户端用Java Applet,用户用完后未disconnect就关 闭browser,这样会导致服务端的异常,怎样处理?