我有个程序,是一个C/S结构的程序,我想实现的是在客户端连接数据库之前,先登陆服务端的一个程序,也就是在服务器做一个端口监听类似的聊天程序,先让客户端先连接服务端监听,当服务器端收到连接请求后,根据连接的的字符串,称判断有没有这个客户端在线,如果在线就向已经登陆的服务器发送一个强行退出消息,如果没有登陆过且服务器在线帐号小于注册的客户端的数目,就向发送连接请求的客户端发送JOIN登陆消息,如果客户端收到JOIN消息后再让他进行登陆,现在是这种情况了,服务器我已经做完,也能够在一个端口上监听,并把登陆的客户端的帐号和socket放在一个arrylist里面,可现在是客户端连接时我有点糊涂了,
由于客户端先要连接服务器得另外一个线程去连接,可在另外一个线程连接服务端在进行消息传送过程中,主线程是让他挂起,还是怎么?不太明白,如果另外一个线程获得登陆请求时,应该让他转回到主线程,但另外一个线程不能关闭,得让他一直在线,因为就像我上面说的如果有相同的帐号来时,客户端收到消息调用一个DLL文件,现在就是我怎么让这个线程获得登陆请求后转回到主线程让主线程再去连接数据库登陆,进入主程序,请各位大哥,帮帮忙,我这个思路有没有错,应该怎么做啊

解决方案 »

  1.   

    to 由于客户端先要连接服务器得另外一个线程去连接,可在另外一个线程连接服务端在进行消息传送过程中,主线程是让他挂起,还是怎么?不太明白,如果另外一个线程获得登陆请求时,应该让他转回到主线程,但另外一个线程不能关闭,得让他一直在线,因为就像我上面说的如果有相同的帐号来时,客户端收到消息调用一个 DLL文件,现在就是我怎么让这个线程获得登陆请求后转回到主线程让主线程再去连接数据库登陆,进入主程序,请各位大哥,帮帮忙,我这个思路有没有错,应该怎么做啊你可能用异步效果更好,这方面有很多例子,也是一两句说不清楚地。
      

  2.   

    to 异步?请问大哥,什么意思,能否能讲介一下啊,思路不太明白与其让我只言片语给你讲,你还不如去找本书看看,或者去网上找个例子看看,这样会明白的更清楚。你可以去微软网站,或者在msdn中也有,比较成熟的例子你可以去www.codeproject.com找找。