[解決済み] socket.io - ReferenceError: ioが定義されていません。
質問
Android 2.3.5用のアプリケーションを書いています(iOSにも対応予定です)。アプリのHTML/Javascriptから、サーバー上のPythonプログラム(Twistedエンジンを使ってデータを取得する)にデータを転送したいのですが、可能でしょうか?
様々なことを試し、様々なフォーラム、回答、チュートリアル、ウェブページを見ましたが、そのほとんどがここにありますが、答えが見つかりません。以下は、私のindex.htmlファイルにある、関連するJavascriptです。
<script src="socket-lib/socket.io.js"></script>
<script type="text/javascript" charset="utf-8">
function sendData() {
try {
var socket = io.connect('http://mywebsite.com:12345');
socket.on('connect', function(data) {
socket.send('Hello.');
socket.on('message', function (msg) {
socket.send('This is where I send data?');
});
});
}
catch(err) {
alert('ERROR: socket.io encountered a problem:\n\n' + err);
}
} // end of sendData
お分かりにならないかもしれませんが、私はこれがどのように機能するのかまだかなり混乱しており、何もテストすることができません。何度も出てくるエラーは
ReferenceError: io is not defined
. のようなものを使っているサイトもありました。
var io = require('socket.io');
. しかし、その後、同じエラーになります。
ReferenceError: require is not defined
.
socket-libのフォルダはassets/wwwに置き、他のJavascriptのソースが入るべき場所に置きました。これは、index.htmlファイルがある場所でもあります。多くのサイトでは
<script src="/socket.io/socket.io.js"></script>
しかし、これは私にとって意味がありません。また、多くのサイトがnode.jsの使用を暗示していますが、私はどこにも見たことがありません。
どうしたらうまくいくのでしょうか?
返信の編集
Chromeで試したら
Uncaught ReferenceError: require is not defined
は、socket.io.jsのファイルです。そこで、その直前のrequire.jsにソースを入れることにした。すると、次のようなエラーになる。
Uncaught Error: Module name "socket.io-client" has not been loaded yet for context
. 私はこれを使わないので、気にしない。しかし、接続を試したところ、同じように
io is not defined
というエラーが発生します。と定義すると
var io = require('socket.io')
というエラーが発生します。
Error: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded
. ホームページを見たのですが、全く役に立ちません。関数の引数に"require"を入れようとすると、またまたエラーが発生します。
TypeError: undefined is not a function
.
解決方法は?
のドキュメントの欠如にひどく困惑している人たちのための答えを見つけました。
socket.io
.
をソースとすることはできません。
/socket-lib/socket.io.js
,
のソースが必要です。
http://yourwebsite.com:12345/socket.io/socket.io.js
.
あとはサーバーが自動的にやってくれる。
関連
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み] テスト
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする
-
[解決済み] webpackでjQueryプラグインの依存関係を管理する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み】Angular JS Uncaught Error。[インジェクター:モジュラー]。
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】別のjsファイル内でJavaScriptの関数を呼び出す
-
[解決済み】エラー:リスン EACCES 0.0.0.0:80 OSx Node.js
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする