如何维护socket 的conncetion 数组(20分)

  • 主题发起人 主题发起人 solonet
  • 开始时间 开始时间
S

solonet

Unregistered / Unconfirmed
GUEST, unregistred user!
如何维护socket 的conncetion 数组
我采用D6自带的tserversocket/tclientsocket控件
 
高手呢?
 
大家来帮忙一下哦
 
比如,我要删除socket的connection数组中的某一个数,要如何写这代码啊?[:(!]
 
比如,我要删除socket的connection数组中的某一个数,要如何写这代码啊?[:(!]
 
大富翁里头没人会吗?转CSDN去吧。
 
为什么我用
ServerSocket1.Socket.Connections.sendbuf(,);
后,发现发送的端口与记录登录时的端口不对啊。

在终端登录时我记录了SOCKET及端口。
这问题到底出在哪?
 
我用D6的tserversocket / tclientsocket 控件,做一个TCP/IP的软件。

我的客户端是一个GPRS 终端,所以不用管它。可是,终端它可能有不可知的中断,比如突然断电等情况,所以这里就有一个问题:当终端不可知的中断的情况下,主站是肯定不知道的,而且,socket 连接的数组也不会减少的,也就是中断的SOCKET 套接字不能及时的删除,那么主站它会定时下达指令时,也会向这个已中断的SOCKET发指令,所以这时发关的指令是无法返回的。请问我要如何维护SOCKET 的CONNECTION[K],就是要删除数组中的某个数;

serversocket.socket.connection[k].close;
以上这句是用来关闭一个连接,但不是用来删除数组中的一个数;
 
DELPHI6,很久就不用了,SERVERSOCKET也没仔细研究过,但我以前做过的一个简单程序中用他时没想过要这么复杂呀.你应该只需要SEND,如果客户端出现异常中断,那么应该回触发
onclienterror错误,不用你去释放这个Socket: TCustomWinSocket,他会自动维护这个数组的
 
后退
顶部