私はこの問題を考え出し:
thread.js
は、ソケットサーバーのようなもので、threader.js
は、クライアントのようなものです。
サーバーは接続のコンテキストで応答する必要があります。
あなた自身が接続コンテキストへのアクセス権を持たない別のスレッドであるsetTimeoutを使用しているので、スレッドはデータを聞くことができません。
thread.js - 古いコード
pipe.on('data', function(chunk){
console.log('RECEIVED CONENT THOUGH fd:3 in thread');
console.log(chunk.toString());
});
setTimeout(function() {
pipe.write('I piped a thing');
}, 2000);
thread.js - 新しいコード
pipe.on('data', function(chunk){
console.log('RECEIVED CONENT THOUGH fd:3 in thread');
console.log(chunk.toString());
});
pipe.write('I piped a thing');
OR thread.js - 新しいコード - 最良の方法
pipe.on('data', function(chunk){
console.log('RECEIVED CONENT THOUGH fd:3 in thread');
console.log(chunk.toString());
//Real 2 second work but not on a separate thread using setTimeout
pipe.write('I piped a thing');
});
ログアウトが正しく、それは新しいnet.Socket({FD:3})を追加し、「Logginが働いて」いる場合、スレッドを開始すると – user3151330
を送信中に表示されますどのような任意の例であり(上。 'data')、それが何らかのデータを取得したときには、「受信したレコードをfd:3でスレッドで」ログアウトする必要があります。スレッドを開始してから10ms後にnet.socketを介して「I piped a thing」を送信し、メインスレッドは「メインスレッドでfd:3を受け取る」と言わなければならないが、それは起こりません – Hobgoblin101
何か興味深いのは、このコードは "SENT FROM THREAD 0"だけログアウトするだけで、 3自動閉鎖か何か? > https://github.com/Hobgoblin101/Threader/blob/master/test2.js – Hobgoblin101