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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

731閲覧

Pythonでのソケット通信がJavascriptでも同様にできるのか

akirabrian67

総合スコア11

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/02/09 02:56

前提・実現したいこと

以下のPythonのコードでした内容を、Javascriptで実現したいです。原理は同じものだと思い、Pythonのコードに対応するように書いてみましたが、そもそも接続が完了しません。

発生している問題・エラーメッセージ

エラーメッセージはありません。接続が完了しません。

該当のソースコード

Python

1def daily_report(): 2 3 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 4 5 try: 6 #クライアント接続 7 client.connect(('192.168.24.244',8501)) 8 except: 9 print( + "PLC接続NG") 10 return 0,0 11 12 Production = "RD DM1014.D 111111\r" 13 14 client.send(Production.encode("ascii")) 15 response1 = client.recv(64) 16 response1 = response1.decode("UTF-8") 17 18 19 20 print("send : " + Production) 21 print("Received :" ,response1) 22 print("完了しました") 23 24 25 client.close()

HTML

1<html> 2 3 <head> 4 5 <meta charset="UTF-8"> 6 7 <title></title> 8 9 </head> 10 11 <script type="text/javascript"> 12 13 var connection = ""; 14 15 //コネクション開始ボタン 16 17 function open_cnn(){ 18 19 console.log("コネクションを開始しします。"); 20 21 connection = new WebSocket("ws://192.168.24.224:8501"); 22 23 //コネクションが接続された時の動き 24 25 connection.onopen = function(e) { 26 27 console.log("コネクションを開始しまいた。"); 28 29 }; 30 31 //エラーが発生したされた時の動き 32 33 connection.onerror = function(error) { 34 35 console.log("エラーが発生しました。"); 36 37 }; 38 39 //メッセージを受け取ったされた時の動き 40 41 connection.onmessage = function(e) { 42 43 let msg = "メッセージを受信しました。" + e.data; 44 45 document.getElementById("RcvMsg").value = msg; 46 47 }; 48 49 //通信が切断された時の動き 50 51 connection.onclose = function() { 52 53 console.log("コネクションを終了しまいた。"); 54 55 }; 56 57 } 58 59 //メッセージ送信ボタン 60 61 function snd_msg(){ 62 63 connection.send(document.getElementById("SndMsg").value); 64 65 } 66 67 //コネクション終了ボタン 68 69 function close_cnn(){ 70 71 connection.close(); 72 73 } 74 75 </script> 76 77 <body> 78 79 <h1>JavaScriptでWebSocket</h1> 80 81 <label>WebSocket通信を【】と行います。</label><br> 82 83 <input type="button" value="コネクション開始" onclick="open_cnn()"><br> 84 85 <br> 86 87 <input type="text" id="SndMsg" placeholder="RD DM1014.D\r"><br> 88 89 <input type="button" value="上記メッセージを送信" onclick="snd_msg()"><br> 90 91 <br> 92 93 <textarea id="RcvMsg" cols="40" rows="4" maxlength="20" placeholder="送信と同時に同じ内容が、受信メッセージとして反映されます。"</textarea><br> 94 95 <input type="button" value="コネクション終了" onclick="close_cnn()"><br> 96 97 <br> 98 99 100 101 </body> 102 103</html>

試したこと

microEdgeでも実行してみましたが接続できませんでした。
IPアドレスの記述を以下のようにもしてみましたが、接続ができませんでした。

"192.168.24.224:8501"
"192.168.24.224"
"wss://192.168.24.224:8501"

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

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

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

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

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

guest

回答1

0

ベストアンサー

ブラウザJavaScriptで使えるWebSocketは1つのプロトコルです。Pythonで行っているような、生のTCPソケットではありません。

投稿2022/02/09 03:01

maisumakun

総合スコア145121

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

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

akirabrian67

2022/02/09 04:11

ありがとうございました!ソケットといっても同じではないのですね!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問