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

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

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

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

Q&A

2回答

10961閲覧

ソケット通信のbind()とconnect()の違いについて

anchan

総合スコア12

Socket.IO

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

0グッド

0クリップ

投稿2019/06/23 05:34

編集2019/06/23 05:35

ソケット通信でbind()とconnect()がありますが今一つ違いがわからないため教えてください。

調べると下記のような説明がありますが具体的に何が違うのでしょうか?

  • bind

ソケットを特定のIPアドレスとポートに紐付ける。
ロカールアドレスに使われる。

  • connect

リモートソケットに接続する。
接続先アドレスに使われる。

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

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

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

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

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

guest

回答2

0

この説明で分からないと言われると、そもそも、
・サーバープロセスが、特定ポートで接続を待ち受ける
・クライアントプロセスが、サーバーノードの、サーバープロセスが接続を待ち受けているポートに接続する
という風に、TCPセッションが張られるということが理解できていますでしょうか?

投稿2019/06/23 08:18

otn

総合スコア84505

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

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

0

・bind

ソケットを特定のIPアドレスとポートに紐付ける。
ロカールアドレスに使われる。
・connect
リモートソケットに接続する。
接続先アドレスに使われる。

記載の通りなのですが、どのような場合に利用されるかがわかった方が
イメージしやすいかもしれませんね。

一般的な利用用途として、bindは、サーバ側が複数のIPを持つ場合に
どれか一つのIPのみで待受をしたいとか、単一のIPだとしても、ある決
まったポートでのみ待受をしたいといった場合に利用します。一般的な
webサーバなども同様ですね。
connectはクライアントからサーバに接続する際に利用します。

ちなみに、クライアント側は通常connectする際に利用するポートは空い
ているものが利用されますが、bindを利用することで使用するポートを
指定することが可能だったりします。

投稿2019/06/23 07:26

t_obara

総合スコア5488

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問