本人刚接触tcp/ip,想利用socket模拟一个客户端连接服务器的例子。
假设客户端为A 服务器端为B,B通过路由器接入网络 路由器的IP地址和B的局域网地址都知道。
要如何连接?参数如何设置?

解决方案 »

  1.   

    如果你是局域网的话
       你直接设置局域网ip就可以了
            比如说你和服务器同在一个局域网内
    服务器的IP为192.192.0.1
    那么你直接设为这样就行了
      但是如果你想和外网的电脑通信
     这就不行了
    这里面就涉及了一个端口转发问题
    你想嘛
    你是通过路由器上网
    那么在内网里所有电脑在对外网时都只一个公网IP
    并且都是一样的
    别人就没法连接你
    和你通信嘛
    只有通过端口转发可以的~
      

  2.   

    A,B不再一个网、?公网通信.. NAT
      

  3.   

    内网通信就是socket通信了,简单点
      

  4.   

    没啥复杂的。首先,机器A能ping通机器B的ip_B然后服务端在ip_B上listen着某个端口port_B客户端这连接的时候,本地ip填0,端口填0,对端ip就是ip_B和端口port_B,然后就连上了。
      

  5.   

    路由器本身就会做NAT,如果不能从路由器上获得这个
    那么就需要一个公网server c,
    A,B都告诉C自己的映射端口等,然后通过C来告诉A,B,他们就可以通信了~
      

  6.   

    既然是同一个LAN里,最简单的办法是设置成同一个网段的。
      

  7.   

    不在就有些麻烦,需要用到点到点技术。如果A是公网中,你可以先由B向A发送消息,A收到消息就销定B的地址。