程序结构
客户端:登陆窗体sockclient1,主窗体sockclient2
服务端sockserver
---
登陆窗体连接到服务端后,关闭sockclient1,然后,显示主窗体,sockclient2连接服务端.
---
目的:
能不能在客户端只用一个sockclient?这样建立连接后,我可以记录下服务端与客户端连接的socket的编号,以便记录下连接的客户id,等服务器收到连接关闭的时候,就可以知道是哪个客户退出了.
现在的情况就是关闭掉socketclient1后,重新建立的链接socketclient2就不晓得是谁连接的服务器了.
---
给个思路吧.

解决方案 »

  1.   

    客户端只用一个sockclient1就可以了,一个sockclient1是可以发送多条数据的
      

  2.   

    可以弄个全局的sockclient吧.或者编号设置成全局sockclient1用那个编号记录下来,sockclient2就用这个编号
      

  3.   

    我的问题就是怎么才能弄个全局的sockclient出来?
      

  4.   

    我也知道没必要啊老兄.可怎么解决一下呢   全局的这个socket怎么搞?
      

  5.   

    那么请问这个sockclient1做什么用?
    既然有主窗体,那么登陆的这个"客户id"不是对应这个主窗体内的吗...
      

  6.   

    我这个程序结构很简单
    client1发送用户名和密码,验证成功后,随着frmlogin的退出,这个client1就关闭掉了连接,然后frmmain显示用cient2重新建立与服务端的链接,这样我想在服务端记录一下是哪个连接的话,就必须记录主窗体重新建立的这个连接了.
    所以我才想,如果有一个办法,客户端只有一个client,却可以在两个窗体内同时使用,也就是建立一个全局的socket,这样不就免去了重新建立连接这一步了,我也就可以在服务端建立连接的时候,登陆下登陆成功的这个用户名,是在sockserver(index)这个结构的几号,据此来判断是否关闭等等..
      

  7.   

    单独弄一个窗体,上面放一个winsock,让该窗体不可见就行了.
      

  8.   

    用什么的方法行吗?不是可以声明对象的吗?
    可不可以加个模块?直接声明 sockclient为winsock类型?public sockclient  as winsock 
    set sockclient = new winsock
    --就这个意思.但是语法不知道怎么写..搜也没搜到..
      

  9.   

    最后还是用另外一个窗体上的SOCKET解决了此问题.唉.其实我还是想声明一个出来.这样就不用那个多余的窗体了.