私はちょうどノードを学び始めていて、インターネットの周りの小さなビットとピースをまとめました。私がノードを使いたかったのは、SendGridがクライアント側から電子メールを送信することでした。私は手動でsocket = io.connect(http://localhost:8080);
(誰もが言うように)をsocket.ioのクライアント側に手動で入力して作業していました。私が英雄または同様のサービスでそれを主催するまで、ローカルでうまく働いていました。私は、サーバー用のHTMLを表示するアドレスhttp://localhost:5000に行くソケットIOが正しいサーバーに接続していません。
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
// This is the socket.io port. I want the client to go through this.
server.listen(8080);
// this is used to serve a static html page in the public folder.
// I feel like the way I have this set up is part of the issue
app.set('port', (5000));
app.use(express.static(__dirname + '/public'));
app.listen(app.get('port'), function() {
console.log('Node app is running on port ' + app.get('port'));
});
:ここ
はコードは以下の機能が、彼らはただsendgrid詰め込むを実行しているとは関係ありません(どのように見える私のサーバーです。
// Init the socket
socket = io.connect('http://localhost');
// send stuff through it. this stuff doesnt matter. but it sends values
// Via json to the server to then use in an email.
socket.emit('sendCompile', {adr: receptients, bod: body });
:ここ は、私が書かれているクライアントコードです210
これは私にエラーを与えます:
socket.io-1.4.5.js:1 GET
http://localhost/socket.io/?
EIO=3&transport=polling&t=LFC_cxO
助けていただければ幸いです。 (私はこれを5時間以上働いていました:D)
PS:すでに他の人たちと同じようにsocket = io();
とsocket = io.connect();
に変更しようとしました。しかしどちらもうまくいきません。私はそれが私がそれらを見つけたときに私がちょうど一緒に物事をまとめるように、それがサーバーを書いた方法の問題であるように感じる。
可能性がありますあなたのheroku環境ではすでにあなたの電子メールがルーティングされない原因となっている8080でリッスンする別のサービスがあります – Alex