客户端 - 服务器和NO-IP(红宝石)

时间:2013-02-05 14:06:23

标签: ruby sockets client-server

我正试图通过no-ip

连接一个简单的Ruby客户端服务器( socket

代码: >  服务器

 #!/usr/bin/ruby
 require 'socket'

 puts "Server run..."
 server = TCPServer.new('',5000)
 while (session = server.accept)
   Thread.start do
       session.puts "ok"
       session.close
   end  
 end   

代码: >  的客户端

#!/usr/bin/env ruby
require 'socket'

clientSession = TCPSocket.new( "xxx.xxx.xxx.xxx.", 5000)
while !(clientSession.closed?) && (serverMessage = clientSession.gets)
  if serverMessage =~/ok/
    puts "connect"
  end
end 



连接

Connections Image

图表说明

  

PC1 :在端口5000上运行的Ruby服务器

     

PC2 :运行Ruby客户端

     

ROUTER :映射以重定向到PC1(服务器)端口5000的连接

     

NO-IP :配置为将连接重定向到我的公共IP(路由器)端口5000

     

VPN :来自瑞典的IP,用于模拟来自 WAN的连接

     

*两台PC都在本地网络




第一次测试绿色箭头)// 客户端 - 服务器,不带 no-ip

使用我的公共IP和端口5000配置客户端

TCPSocket.new( "xxx.xxx.xxx.xxx.", 5000)
  

PC2 运行客户端 =&gt; 连接到 VPN =&gt; 连接到 ROUTER =&gt; 重定向到 PC1 服务器 =&gt; PC1 < / strong>回复“确定 =&gt; 以同样的方式返回 =&gt; 穿上 PC2 connect ”# 工作



第二次测试蓝色箭头)//在没有客户端的情况下从浏览器测试 no-ip

假设这是我的无IP地址:test.no-ip.org

  

PC2 浏览器中打开 test.no-ip.org =&gt; 连接到 VPN =&gt; 连接到 NO-IP =&gt; 连接到 ROUTER =&gt; 重定向到 PC1 服务器 =&gt; PC1 响应“ ok =&gt; 以同样的方式返回 =&gt; 浏览器上放置”ok“并为 xxx.xxx.xxx.xxx.:5000 工作更改 test.no-ip-org



第三次测试红色箭头)// 客户端 - 服务器 no-ip

使用no-ip配置客户端

TCPSocket.new ("test.no-ip.org", 80)
  

PC2 运行客户端 .....没有任何反应...... 无法正常工作


有什么想法吗?

感谢。

0 个答案:

没有答案