質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Q&A

解決済

1回答

1551閲覧

Ruby socket異なるネットワーク間で通信できるのか?

kazuyakazuya

総合スコア193

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

1グッド

1クリップ

投稿2019/08/17 09:30

Rubyで簡単なsocket通信プログラムを作りました。

server

1require 'socket' 2gate = TCPServer.open("55555") 3sock = gate.accept 4gate.close 5while msg = sock.gets 6 puts msg 7end 8sock.close 9

client

1require 'socket' 2 3sock = TCPSocket.open("localhost","55555") 4while msg = STDIN.gets 5 sock.write(msg) 6end

クライアントが投げた文字列をサーバー側で表示するものです。
参考書引用

TCPSocketとはTCPソケットを作成し利用するためのクラスです。通常のIOクラスのサブクラス同様の入出力が可能です。

とあるのですが、
このsocketは異なるネットワーク間で使うことはできるのでしょうか?
別のところの質問でRubyのsocketでは異なるネットワーク間だと利用できない
との指摘を受けたのですがなぜ
異なるネットワーク間だと使うことができないのでしょうか?

分からないので参考になるリンクまたは説明をお願いします。

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このsocketは異なるネットワーク間で使うことはできるのでしょうか?

はい、可能です。ただし、サーバとして待ち受けられるようにポート開放などをする必要があります。

投稿2019/08/17 09:52

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/08/17 09:53

もちろん、インターネットにつながっていないような全く断絶された環境ではどうしようもありません。「異なるネットワーク」がどの程度の環境を意味するか、という部分も含んだ問題です。
kazuyakazuya

2019/08/17 09:57

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問