现在我编写了一个socket程序,服务器端采用多线程,没问题,但是今天经理说:他要多个程序调用我的客户端程序(我的客户端程序做成dll形势,其中就是个发送函数),并且说要用到队列,可是我不知道怎么实现阿,哪位专家能够讲的详细点么。
   他说有1000个请求,但是只能有50个进行socket连接,其他的排队。在socket客户端如何实现阿。
 他是要把我的客户端程序做成dll文件,然后放到他的程序中,当成一个函数调用。难道我还需要在服务器端做一些处理么?能否只是在客户端控制啊。我在客户端函数中传入服务器的IP,port,发送信息,返回值。
    我能否这样做:在客户端函数设置一个队列,如果有一个程序调用这个函数,则将它建立的socket放在队列中。同时,客户端从队列中取出一个socket,进行连接,发送。这样能够实现50个请求同时连接么?如果能,我该怎么实现阿。

解决方案 »

  1.   

    多线程,一个线程一个SOCKET,使用EVENT,程序阻塞等待EVENT,当线程结束时,发EVENT给程序客户可以一直要求创建线程,你的程序判断总线程数,如果小于50,执行,并返回TRUE,不然,FALSE
      

  2.   

    用个计数器,超过50个连接则不再accept不就可以了嘛,其实不用排什么队,超时会自然断开。