সকেট.ইওয়ের সাথে পিএইচপি ব্যবহার করে


128

সকেট.ইও ক্লায়েন্টের পক্ষে ব্যবহার করা এবং সার্ভারে পিএইচপি ভিত্তিক অ্যাপ্লিকেশনটির সাথে যোগাযোগ করা সম্ভব? পিএইচপি এমনকি কোড লেখার মতো 'দীর্ঘকালীন সংযোগ' সমর্থন করে?

আমি সকেট.ইওয়ের জন্য যে সমস্ত নমুনা কোডটি পাই তা সার্ভারের পাশের নোড.জেএস এর জন্য বলে মনে হয়, সুতরাং সেখানে কোনও সাহায্য নেই।


3
সম্ভাব্য নকল: পিএইচপি উত্স থেকে Socket.io
hakre

আপনি কেবল pusher বিবেচনা করতে পারেন। এটিতে নিফটি পিএইচপি লাইব্রেরি রয়েছে যা আমি ব্যবহার করব।
ডেভিন জি রোড

- হাই, এই এক চেষ্টা github.com/walkor/phpsocket.io
Zhenya Hristova

উত্তর:


98

এই প্রশ্নের উত্তর পেতে দেরি হতে পারে তবে আমি যা পেয়েছি তা এখানে।

আমি এই বিষয়ে বিতর্ক করতে চাই না যে নোডগুলি পিএইচপি বা না করার চেয়ে ভাল করে, এটি মূল বিষয় নয়।

সমাধানটি হ'ল: আমি পিএইচপি-র জন্য सॉকেট.ওয়ের কোনও প্রয়োগ খুঁজে পাইনি।

তবে ওয়েবসকেটগুলি প্রয়োগ করার কিছু উপায় রয়েছে । নেই প্লাগইন এটা jQuery আপনি WebSocket ব্যবহার করার সময় অত্যন্ত শৃঙ্খলার অ সমর্থনকারী ব্রাউজারের জন্য অধ: পতিত অনুমতি দেয়। পিএইচপি দিকে, এই ক্লাসটি রয়েছে যা পিএইচপি ডাব্লুএস সার্ভারগুলির জন্য সর্বাধিক ব্যবহৃত হয় বলে মনে হয়।


1
আপনি যদি পিএইচপি ওয়েবস্কুট সার্ভার বাস্তবায়ন করতে চান তবে পিএইচপিওবসকেট ক্লাসটি আসলেই যাওয়ার উপায়। তবে এটি প্রশ্নের সাথে সম্পর্কিত নয়। ওপিতে ইতিমধ্যে একটি ডাব্লুএস সার্ভার রয়েছে (সকেট.আইও) বাস্তবায়িত হয়েছে এবং পিএইচপি অ্যাপ্লিকেশনটির সাথে যোগাযোগের উপায় জিজ্ঞাসা করেছে।
ক্যাস্পার তাইয়েমানস

72

আপনি যদি php এর সাথে একসাথে Socket.io ব্যবহার করতে চান তবে এটি আপনার উত্তর হতে পারে!

প্রকল্প ওয়েবসাইট:

elephant.io

তারা গিথুবেও রয়েছে:

https://github.com/wisembly/elephant.io

এলিফ্যান্ট.ইও পিএইচপি-তে সম্পূর্ণ লিখিত একটি সকেট.আইও ক্লায়েন্ট সরবরাহ করে যা আপনার প্রকল্পের সর্বত্র ব্যবহারযোগ্য হবে।

এটি একটি হালকা এবং সহজেই ব্যবহারযোগ্য লাইব্রেরি যা সম্পূর্ণ জাভাস্ক্রিপ্টে করা যায়নি এমন ক্রিয়াগুলির জন্য সকেট.ইও এবং ওয়েবসকেটের মাধ্যমে কোনও পিএইচপি অ্যাপ্লিকেশনে কিছু রিয়েল-টাইম কার্যকারিতা আনতে লক্ষ্য করে।

প্রকল্প ওয়েবসাইট থেকে উদাহরণ (পিএইচপি এর মাধ্যমে ওয়েবসকেট সার্ভারের সাথে যোগাযোগ করুন)

পিএইচপি সার্ভার

use ElephantIO\Client as Elephant;

$elephant = new Elephant('http://localhost:8000', 'socket.io', 1, false, true, true);

$elephant->init();
$elephant->send(
    ElephantIOClient::TYPE_EVENT,
    null,
    null,
    json_encode(array('name' => 'foo', 'args' => 'bar'))
);
$elephant->close();

echo 'tryin to send `bar` to the event `foo`';

সকেট আইও সার্ভার

var io = require('socket.io').listen(8000);

io.sockets.on('connection', function (socket) {
  console.log('user connected!');

  socket.on('foo', function (data) {
    console.log('here we are in action event and data is: ' + data);
  });
});

2
আমি এখানে আপনাকে একটি +1 দেব, তবে দেখে মনে হচ্ছে এটি উত্পাদন পরিবেশে ব্যবহারযোগ্য হওয়ার কিছুটা পথ।
বিচহাউস

17
আমি এটি দেখেছি, তবে একটি জিনিস আমাকে বিভ্রান্ত করেছে। এখানে কী পিএইচপি কোনও সকেট.আইও সার্ভার প্রয়োগ করতে হবে? এবং পরিবর্তে, এলিপ্যান্ট.ইও এমন একটি সকেট.ইও ক্লায়েন্টের পিএইচপি বাস্তবায়ন বলে মনে হচ্ছে যার জন্য আপনি কিছু অন্যান্য सॉকেট.ও সার্ভারের সাথে সংযোগ করতে পারেন (অর্থ্যাৎ, এলিফ্যান্ট.ইও আপনার সকেটস.আইও ক্লায়েন্টের সংযোগের জন্য কান দিচ্ছে না, সংযুক্ত হচ্ছে) তাদের কাছে এবং তাদের সার্ভিসিং করে)?
পিম্প ট্রাইজকিট

আমি যা খুজে পেয়েছি, দুঃখের বিষয় যে অবিচ্ছিন্ন সংযোগটি বিকাশের প্রাথমিক পর্যায়ে রয়েছে।
স্লেজাদব

8
হাই সব। এলিফ্যান্ট.ইও লক্ষ্যটি কেবলমাত্র পিএইচপি থেকে একটি সকেট.ইও সার্ভারে ইভেন্টগুলি ফায়ার করা। একটি অবিচ্ছিন্ন সংযোগ খুলতে না। তবে দ্রুত সংযোগ স্থাপন এবং ইভেন্ট / বার্তা প্রেরণে সক্ষম হয়ে উঠতে। আমরা এটি উত্পাদনতে ব্যবহার করি এবং এটি কবজির মতো কাজ করে।
গিলাইমপোটিয়ার

3
এই গ্রন্থাগারটি আর রক্ষণাবেক্ষণ করা হয় না এবং আমাদের জন্য কিছু সমস্যা রয়েছে
ফ্লিয়ান


14

যদি আপনি সত্যিই সকেট.ইওর জন্য আপনার ব্যাকএন্ড হিসাবে পিএইচপি ব্যবহার করতে চান তবে আমি যা পেয়েছি তা এখানে। দুটি socket.io পিএইচপি সার্ভার সাইড বিকল্প।

https://github.com/walkor/phpsocket.io

https://github.com/RickySu/phpsocket.io

এটির মতো প্রথম সংগ্রহস্থলের জন্য একাধিক কোড।

use PHPSocketIO\SocketIO;

// listen port 2021 for socket.io client
$io = new SocketIO(2021);
$io->on('connection', function($socket)use($io){
  $socket->on('chat message', function($msg)use($io){
    $io->emit('chat message', $msg);
  });
});

7

আপনি উল্লেখ করেছেন 'দীর্ঘকালীন সংযোগ' এর জন্য, আপনি পিএইচপি জন্য র‌্যাচেট ব্যবহার করতে পারেন। এটি স্ট্রিম সকেট ফাংশনগুলির উপর ভিত্তি করে নির্মিত একটি লাইব্রেরি যা পিএইচপি পিএইচপি 5-র পরে সমর্থন করেছে।

ক্লায়েন্ট পক্ষের জন্য, আপনাকে ওয়েবসকেট ব্যবহার করতে হবে যা সকেট.ওয়ের পরিবর্তে এইচটিএমএল 5 সমর্থন করে (যেহেতু আপনি জানেন, সকেট.ইও কেবল নোড.জেএস দিয়ে কাজ করে)।

আপনি যদি এখনও सॉকেট.ইও ব্যবহার করতে চান তবে আপনি এইভাবে চেষ্টা করতে পারেন: - ক্লায়েন্টের ব্যবহারের জন্য সকেট.ইও.জেগুলি সন্ধান করুন এবং পান - সকেট.ওয়ের সার্ভারে যেভাবে কাজ করে তা অনুকরণ করার জন্য র্যাচেটের সাথে কাজ করুন

আশাকরি এটা সাহায্য করবে!


6

আর্ম, আপনি কেন চান? পিএইচপি ব্যাকএন্ড এবং নোডজেএস / সকেটগুলিকে এর অ-ব্লকিংয়ের কাজটি ছেড়ে দিন।

আপনাকে শুরু করার জন্য এখানে কিছু: http://groups.google.com/group/sket_io/browse_thread/thread/74a76896d2b72ccc

ব্যক্তিগতভাবে আমার একটি শেষ পয়েন্ট রয়েছে যা পিএইচপি থেকে ইন্টারেক্ট করার জন্য স্পষ্টভাবে শুনছে express

উদাহরণস্বরূপ, আমি যদি কোনও ব্যবহারকারীকে একটি ইমেল প্রেরণ করেছি তবে আমি সকেট.আইওর ব্যবহারকারীর কাছে একটি বাস্তব-সময় বিজ্ঞপ্তি প্রদর্শন করতে চাই।

সকেট.ইও থেকে পিএইচপি পর্যন্ত ইন্টারঅ্যাকশন চান, ভাল আপনি এই জাতীয় কিছু করতে পারেন:

var http = require('http'),
            host = WWW_HOST,
            clen = 'userid=' + userid,
            site = http.createClient(80, host),
            request = site.request("POST", "/modules/nodeim/includes/signonuser.inc.php",  
                {'host':host,'Content-Length':clen.length,'Content-Type':'application/x-www-form-urlencoded'});                     

request.write('userid=' + userid);      
request.end();  

সিরিয়াসলি, পিএইচপি সার্ভার সাইড স্টাফগুলি করার জন্য দুর্দান্ত এবং এটি এই সংযোগের সাথে থাকতে দেওয়া যাক এখন এই ডোমেনে এটির কোনও স্থান নেই। আপনার কাছে ওয়েবসকেট বা ফ্ল্যাশসকেট থাকাকালীন কেন দীর্ঘমেয়াদী কিছু করা যায়।


32
কারণ আমাদের মধ্যে কিছু কেবল একটি সস্তা হোস্ট পেতে সক্ষম যা আপনাকে কেবল পিএইচপি এবং মাইএসকিএল ব্যবহার করতে দেয়।
ল্যানবো

31
কারণ আমাদের মধ্যে কারও কারও পিএইচপি-র উপর নির্ভরশীল বিদ্যমান ফ্রেমওয়ার্কগুলির সাথে কাজ করতে হবে। উদাহরণস্বরূপ আমরা একটি পিএইচপি স্ক্রিপ্টটি বিকাশ করি এবং বিক্রয় করি, তবে ওয়েবসকেট ব্যবহার করে আইএম উন্নত করতে চাই, আমরা সকেট.ইও ইতিমধ্যে প্রয়োগ করা সমস্ত ফলব্যাকগুলি লিখতে চাই না তবে আমাদের ক্লায়েন্টদের কাছ থেকে নোডজেএসের প্রয়োজন নেই।
খাঁটিফান

3
@ পলম: আমি কয়েকটি <$ 10 ভিপিএস সরবরাহকারী চেষ্টা করেছি, এবং যারা সত্যই স্তন্যপান করেন তারা সবাই। প্রত্যেকটি খুব ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে থাকে। । সুতরাং না, ppy 5 এর জন্য ক্রেপি ভিপিএস কিনতে সক্ষম হওয়া অবশ্যই সমাধান নয়।
ওলি

4
<$ 10 ভিপিএস সরবরাহকারীদের জন্য, আমি এখন পর্যন্ত একমাত্র শালীনকে খুঁজে পেয়েছি হ'ল ডিজিটালওশন ডটকম। তবে এটি বেশ ভাল।
আইওলুন

3
আমি রাজি নই। আমি মনে করি এর মতো উত্তর খুব প্রাসঙ্গিক। কেউ আপনাকে "আপনি এটি ভুল ব্যবহার করছেন" বলছেন এমন কেউ আপনাকে এটির ভুল ব্যবহার করতে সহায়তা করার চেয়ে অনেক বেশি মূল্যবান হতে পারে।
রিজক

6

আমি জানি সংগ্রাম মানুষ! তবে সম্প্রতি আমি ওয়ার্কারম্যানের সাথে এটি বেশ কাজ করেছি। আপনি যদি এই পিএইচপি ফ্রেমওয়ার্কে হোঁচট খাচ্ছেন না তবে আপনি আরও ভাল করে এটি পরীক্ষা করে দেখুন!

ওয়েল, ওয়ার্কারম্যান সহজেই দ্রুত, স্কেলযোগ্য নেটওয়ার্ক অ্যাপ্লিকেশন তৈরির জন্য একটি অ্যাসিক্রোনাস ইভেন্ট চালিত পিএইচপি ফ্রেমওয়ার্ক। (আমি তাদের ওয়েবসাইট হাহাহাহা থেকে কেবল অনুলিপি করে আটকিয়েছি http://www.workerman.net/en/ )

এটি ব্যাখ্যা করার সহজ উপায় হ'ল এটি যখন ওয়েব সকেট প্রোগ্রামিং আসে তখন আপনার সার্ভারে বা স্থানীয় সার্ভারে (যেখানে আপনি যেখানেই কাজ করছেন) 2 ফাইল থাকা দরকার।

  1. server.php (উত্স কোড যা সমস্ত ক্লায়েন্টের অনুরোধে সাড়া দেবে)

  2. ক্লায়েন্ট.এফপি / ক্লায়েন্ট এইচটিএমএল (উত্স কোড যা অনুরোধকারী স্টাফগুলি করবে)

সুতরাং মূলত, আপনি প্রথমে কোডটি ডান আপনার সার্ভার.ফ্পে এবং সার্ভারটি শুরু করুন। সাধারণত, আমি উইন্ডোজগুলি ব্যবহার করি যা লড়াইয়ে আরও বেশি যোগ করে, আমি এই কমান্ডটির মাধ্যমে সার্ভারটি চালিত করি -> পিএইচপি সার্ভার

আচ্ছা আপনি যদি এক্সএএমপি ব্যবহার করেন। এটি করার একটি উপায় এখানে। আপনি যেখানে নিজের ফাইল রাখতে চান সেখানে যান। আমাদের ক্ষেত্রে, আমরা ফাইলগুলিতে রেখে যাচ্ছি

সি: /xampp/htdocs/websocket/server.php

সি: /xampp/htdocs/websocket/client.php বা ক্লায়েন্ট এইচটিএমএল

ধরে নিচ্ছি যে আপনার স্থানীয় সার্ভারে এই ফাইলগুলি ইতিমধ্যে রয়েছে। আপনার গিট বাশ বা কমান্ড লাইন বা টার্মিনাল খুলুন বা আপনি যে কোনও পিএইচপি লাইব্রেরি ব্যবহার করছেন এবং ডাউনলোড করুন।

https://github.com/walkor/Workerman

https://github.com/walkor/phpsocket.io

আমি এটি সাধারণত সুরকারের মাধ্যমে ডাউনলোড করি এবং আমার পিএইচপি স্ক্রিপ্টগুলিতে কেবল সেই ফাইলগুলি অটোল্যাড করি।

এবং এই এক পরীক্ষা করে দেখুন। এটি সত্যিই গুরুত্বপূর্ণ ! আপনার ক্লায়েন্ট.পিএইচপি বা ক্লায়েন্ট এইচটিএমএল এটি চালানোর সময় সার্ভার.ফ্পের সাথে যোগাযোগ করার জন্য আপনার এই জাভাস্ক্রিপ্ট লিবারি প্রয়োজন ।

https://github.com/walkor/phpsocket.io/tree/master/examples/chat/public/socket.io-client

আমি কেবলমাত্র আমার সার্ভার.এফপি এবং আমার ক্লায়েন্ট.এফপি হিসাবে একই স্তরে সেই সকেট.আইও-ক্লায়েন্ট ফোল্ডারটি অনুলিপি করে আটকিয়েছি

এখানে server.php sourcecode

<?php
require __DIR__ . '/vendor/autoload.php';

use Workerman\Worker;
use PHPSocketIO\SocketIO;

// listen port 2021 for socket.io client
$io = new SocketIO(2021);
$io->on('connection', function($socket)use($io){
    $socket->on('send message', function($msg)use($io){
        $io->emit('new message', $msg);
    });
});

Worker::runAll();

আর এখানে client.php বা client.html sourcecode

<!DOCTYPE html>
<html>
    <head>
        <title>Chat</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">        
    </head>
    <body>
        <div id="chat-messages" style="overflow-y: scroll; height: 100px; "></div>        
        <input type="text" class="message">
    </body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>    
    <script src="socket.io-client/socket.io.js"></script>  
    <script>
            var socket = io.connect("ws://127.0.0.1:2021");

            $('.message').on('change', function(){
                socket.emit('send message', $(this).val());
                $(this).val('');
            });

            socket.on('new message', function(data){
                $('#chat-messages').append('<p>' + data +'</p>');
            });
    </script>
</html>

আবার, আপনার কমান্ড লাইনটি খুলুন বা গিট ব্যাশ বা টার্মিনাল যেখানে আপনি নিজের সার্ভার.ফ্প ফাইলটি রেখেছেন। সুতরাং আমাদের ক্ষেত্রে, এটি সি: / এক্সএএমপিএইচ / এইচটিডোকস / ওয়েবসকেট / এবং পিএইচপি সার্ভারে টাইপ করুন.এফপি শুরু করুন এবং এন্টার টিপুন।

তারপরে আপনার ব্রাউজারে যান এবং আপনার সাইটটি দেখতে http: //localhost/websket/client.php টাইপ করুন। তারপরে সেই পাঠ্যবক্সে কেবল কিছু টাইপ করুন এবং আপনি যেতে যেতে একটি বেসিক পিএইচপি ওয়েবসকেট দেখতে পাবেন!

আপনার শুধু মনে রাখা দরকার। ওয়েব সকেট প্রোগ্রামিংয়ে এটির জন্য কেবল একটি সার্ভার এবং ক্লায়েন্ট প্রয়োজন। প্রথমে সার্ভার কোডটি চালান এবং ক্লায়েন্ট কোডটি খুলুন। এবং সেখানে আপনি এটা আছে! আশাকরি এটা সাহায্য করবে!


4

আপনি যদি ওয়েবসকেটের জন্য ব্যাকএন্ড হিসাবে সত্যই পিএইচপি ব্যবহার করতে চান তবে এই লিঙ্কগুলি আপনাকে আপনার পথে পেতে পারে:

https://github.com/lemmingzshadow/php-websocket

http://www.htmlgoodies.com/html5/other/create-a-bi-directional-connection-to-a-php-server-using-html5-websockets.html#fbid=QqpDVi8FqD9


1
এগুলি কী আপনাকে सॉকেট.ইও (সমস্ত সমর্থিত ট্রান্সপোর্ট এবং ব্রাউজার সহ) ব্যবহার করতে দেয়। অথবা পিএইচপি-ওয়েবসকেটের সাথে আসা ক্লায়েন্টটি ব্যবহার করতে হবে?
ড্যারেন কুক

3

এ কেমন? পিএইচপিএসক্টোটিও ?? এটি সকেট.ইও পিএইচপি সার্ভার সাইড বিকল্প। ইভেন্ট লুপটি পেকল ইভেন্টের এক্সটেনশনের উপর ভিত্তি করে। যদিও এখন পর্যন্ত আমি নিজে চেষ্টা করে দেখিনি।


3

আমরা এখন 2018 এবং হোলায় রয়েছি, পিএইচপি উপর ডাব্লুএস এবং ডাব্লুএইচএমএস সার্ভার কার্যকর করার একটি উপায় আছে। এটি র‌্যাচেট নামে পরিচিত ।




0

আমি পিএইচপি ক্লায়েন্টদের কাছে সকেট.ইও বার্তা প্রেরণ করার জন্য একটি সহজ উপায় খুঁজছিলাম।

এটির জন্য কোনও অতিরিক্ত পিএইচপি লাইব্রেরি লাগবে না - এটি কেবল সকেট ব্যবহার করে।

অন্যান্য অনেকগুলি সমাধানের মতো ওয়েবসকেট ইন্টারফেসের সাথে সংযোগ স্থাপনের পরিবর্তে কেবল নোড.জেএস সার্ভারের সাথে সংযোগ করুন এবং .on('data')বার্তাটি গ্রহণ করতে ব্যবহার করুন।

তারপরে, socket.ioএটি ক্লায়েন্টদের সাথে ফরোয়ার্ড করতে পারে।

আপনার পিএইচপি সার্ভার থেকে নোড.জেজে এই জাতীয় সংযোগ সনাক্ত করুন:

//You might have something like this - just included to show object setup
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);

server.on("connection", function(s) {
    //If connection is from our server (localhost)
    if(s.remoteAddress == "::ffff:127.0.0.1") {
        s.on('data', function(buf) {
            var js = JSON.parse(buf);
            io.emit(js.msg,js.data); //Send the msg to socket.io clients
        });
    }
});

এখানে অবিশ্বাস্যভাবে সহজ পিএইচপি কোড - আমি এটিকে একটি ফাংশনে আবদ্ধ করেছি - আপনি আরও ভাল কিছু নিয়ে আসতে পারেন।

নোটটি 8080হ'ল আমার নোড.জেএস সার্ভারের বন্দর - আপনি পরিবর্তন করতে চাইতে পারেন।

function sio_message($message, $data) {
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    $result = socket_connect($socket, '127.0.0.1', 8080);
    if(!$result) {
        die('cannot connect '.socket_strerror(socket_last_error()).PHP_EOL);
    }
    $bytes = socket_write($socket, json_encode(Array("msg" => $message, "data" => $data)));
    socket_close($socket);
}

আপনি এটি এর মতো ব্যবহার করতে পারেন:

sio_message("chat message","Hello from PHP!");

আপনি অ্যারেগুলিও পাঠাতে পারেন যা জসনতে রূপান্তরিত হয়েছে এবং ক্লায়েন্টদের সাথে চলে গেছে।

sio_message("DataUpdate",Array("Data1" => "something", "Data2" => "something else"));

আপনার ক্লায়েন্টরা সার্ভার থেকে বৈধ বার্তা পাচ্ছে এটি "বিশ্বাস" করার একটি কার্যকর উপায়।

শত শত ক্লায়েন্টকে ডাটাবেস না করেও আপনি পিএইচপি পাস করতে পারেন ডেটাবেস আপডেটের সাথে।

আমি আশা করি আমি তাড়াতাড়ি খুঁজে পেয়েছি - আশা করি এটি সাহায্য করে! 😉


1
ভাল ধারণা, আমি রেডিস এড়ানোর কোনও উপায় খুঁজছিলাম (যদি এটি ভাল ধারণা হয়)! প্রথম কোডটিতে একটি টাইপো রয়েছে, সেমিকোলন পরে s.remoteAddress;। যাইহোক, আমি এটি কাজ করতে পাচ্ছি না। আমি নোডে সংযোগটি পাই, এটি সংযোগটি সনাক্ত করে, রিমোটএড্রেস সঠিক, তবে s.on('data')কখনও হয় না, তবে কিছুই হয় না। আমিও চেষ্টা করেছি s.on('msg')। আমি আপনার সঠিক পিএইচপি কোড ব্যবহার করছি। আমি নোড সার্ভারের জন্য, https ব্যবহার করছি, তবে তাতে কোনও সমস্যা নেই?
নিক্লাস

@ নিক্লাস হাই টাইপো সম্পর্কে দুঃখিত - বিশ্বাস করতে পারে না যে সেখানে সব ছিল। আপনার নোড সার্ভার বন্দরে চলছে 8080? যদি তা না হয় তবে আপনার বন্দরটি পরিবর্তন করতে হবে। যদি তা হয় তবে Remote Addressতা ফিরে এসেছে কিনা তা পরীক্ষা করুন - এটি লুপব্যাক / স্থানীয় ঠিকানা নিশ্চিত করুন - এটি আপনার সার্ভার সেটআপের সাথে আলাদা হতে পারে। পরীক্ষার জন্য, আপনি লাইনটি সরাতে পারেনif(s.remoteAddress == "::ffff:127.0.0.1")
ব্যবহারকারীর 1274820

দ্রুত উত্তর দেওয়ার জন্য ধন্যবাদ! আমি সফলভাবে সমস্ত উপায়ে কনসোল.লগ করেছি, এমনকি রিমোট্যাড্রেস ঠিক ছিল, এটি কেবল s.on ('ডেটা') বিভাগে প্রবেশ করে না। কোন বার্তাটি কী পাঠানো হয়েছিল তা পরীক্ষা করার কোনও উপায় আছে? আমি কিছু মিস করেছি কিনা তা দেখার জন্য দয়া করে আমার মন্তব্যটি পুনরায় পড়ুন। কোড পোস্ট করার জন্য আমি এটি একটি নতুন প্রশ্ন হিসাবে শুরু করতে পারি তবে এটি প্রায় আপনার মতো।
নিকলাস

বিস্তারিতভাবে আলোচনা করা সহজ করার জন্য আমি এটি একটি নতুন প্রশ্ন হিসাবে শুরু করেছি: স্ট্যাকওভারফ্লো
নিক্লাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.