问:我有一个c/s程序在局域网内运行,我想client运行的时候主动去寻找服务端
如果服务端运行的话就进行连接,如果网上没有服务端运行的话就引发错误。这怎么实现啊,谁能提供思路,有代码更好。

解决方案 »

  1.   

    客户端创建一个socket链接服务器,服务器运行的时候listen某个端口,如果服务器没有运行,则client创建socket链接的时候会失败,检查失败代码就可以知道服务器是否在运行。
      

  2.   

    创建socket失败和服务端有没有listen有关系吗?
    我现在是不知道服务端将在哪台机器上运行,
    如果我用connect(...)调用也不知道服务器的地址
    但是只知道服务器肯定在这个局域网内某个机器上运行,
    但不知道是具体哪台机器。
    不知道我说明白了没
      

  3.   

    我想请问一下,你们平时在client需要调用connect
    函数和服务端创建连接的时候,服务端的IP地址是硬绑定的吗
    你怎么知道用户把服务端装到哪台机器上我初次学网络编程,问题很无知。
      

  4.   

    SERVER端的IP是事先知道的
    我这样认为
      

  5.   

    在客户端启动时,使用udp向局域网内群发一个消息,然后让服务器接受后回复该客户端,然后你想用Tcp还是Udp那就看你的了
      

  6.   

    楼上的可能是个可行的方法,利用多播是吧。
    至于server端的IP怎么能事先知道,我就不明白了
      

  7.   

    用UDP比较好一些,如果用UDP发广播消息就可以了。
    服务器收到后发回消息,然后可以协商用TCP建立连接。