2016-03-31 22 views
0

私はちょうどノードを学び始めていて、インターネットの周りの小さなビットとピースをまとめました。私がノードを使いたかったのは、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();に変更しようとしました。しかしどちらもうまくいきません。私はそれが私がそれらを見つけたときに私がちょうど一緒に物事をまとめるように、それがサーバーを書いた方法の問題であるように感じる。

+0

可能性がありますあなたのheroku環境ではすでにあなたの電子メールがルーティングされない原因となっている8080でリッスンする別のサービスがあります – Alex

答えて

-1

あなたは例えば、何でもあなたのウェブサイトにローカルホストからドメインを変更している必要があるとポートを追加します。

socket = io.connect('http://localhost'); 

socket = io.connect('http://mywebsite.com:8080'); 

また、ポートを使用すると、ソケットのために使用していることに注意してくださいになるべき開いている必要があります - ポートが開いていない場合は、より多くの問題に遭遇します。

+0

彼はmywebsite.comを使用する必要はありません、localhostを使用すると、 localhost(このマシン)でホストされています。しかし、ポートを開くことについてあなたのポイントは有効です、それは調査する必要があります。 – Alex

+0

localhostでテストしたいのですが?これを自動化する方法があるので、手動でlocalhostに変更する必要はありませんか? – Luexco