1、Server端Winsock如何同时Listen4个不同的端口?!
2、Server端如何列出所有运行Client的机子!
3、Client断开与Server的连接后,Server端如何知道这个状态的变化?没做过这方面的东西,请大家多多指教!!

解决方案 »

  1.   

    MSDN上有Winsock的用法。看看应该可以解决你的问题。
      

  2.   

    Winsock那些基本的用法我都已经实现!还有几个问题
    4.Server端Listen四个端口,必须列出这个4端口上当前所有连接Client的信息,还有这个Client上一次连接到该端口的时间。具体怎么搞?5.我的Server能够broadcast,要求如果有其它Server端收到这个信息以后,记录下发送的这个broadcasts的Server的Name,Port,available networks for that serverft,问题太多了,给个思路也行!谢谢大家了!
      

  3.   

    1、同时侦听四个端口,可用Winsock控件数组,一个个调用Listen方法,不过,不知你什么目的,若只是想能同时接收多个客户端连接的话,一般只需Listen一个端口,Http、Ftp服务不也就是一个80或21端口吗?
    2、可遍历服务端控件数组中每个接受连接的Winsock,它可探知远端的IP,想知道更多信息,需通过双方通讯。
    3、Client断开与Server的连接后,Server端会触发Close事件
    4、同2,通过通讯获得客户信息,为每个客户端建立个数据记录格式,很多方法都行,内容多的话,建议使用数据库
    5、一样,都是靠通讯信息获取,你最好建立自己的通讯格式,如:设定一个信息头,里面包含每个broadcast所必须的信息,客户端自动分析获取。
      

  4.   

    侦听四个prot,要有个四个listen
      

  5.   

    记录Client的信息,要在accept后做发一个数据,做为client信息,并在server端记下,在close之前也可以发一个消息,让server知道,具体协议你可以定义一下。你说的广播是什么意思,我不太明白?
      

  6.   

    1、同时侦听四个端口就要用到四个Winsock控件,也可以做成控件数组.2、定义一个数组.在Winsockr的ConnectionRequest事件中就是Client端连接SERVER触发的事件,你可以在这个事件中将客户的IP存放到数组中.即是Winsock.RemoteHostIP3、Client断开与Server的连接后,会触发Server端的Winsock_Close事件.你可以得到是哪个Client断开了.Winsock.RemoteHostIP就是断开的Client端IP
      

  7.   

    1 你至少需要 4个 winsock 控件 分别设置好自己的 LocalPort 属性 然后listen
    2.在客户端请求连接的时候 会触发  ConnectionRequest 事件 你可以在这个时候 接受连接 并添加到一个列表里,
    3。Winsock_Close事件
      

  8.   

    哎,来晚了
    1。你需要4个socket控件监听和4个socket苏组合各个客户端建立连接
    2。你可以通过检测和客户端连接好的socket苏组,来看有多少客户端就是socket(i).state
    3。客户端.close服务器端会触发.close()事件
      

  9.   

    帮忙up用四个Winsock控件应该能够解决的吧!