لماذا لا يعمل مقبس UDP هذا عندما أقوم بتشغيله على جهاز كمبيوتر خارج الشبكة؟


أحاول إجراء اتصال بين جهازي كمبيوتر يستخدم كلاهما محول tp-link، لكنني لا أتلقى أي شيء من العميل.

<pre lang="C++">
<pre>#include <iostream>
#include<SFML/Network.hpp>
using namespace std;
int main()
{
    string lolz;
    cout << "C[CLIENT]/S[SERVER] : ";
    cin >> lolz;
    
    if (lolz.compare("S") == 0)
    {
        sf::UdpSocket socket;
        socket.bind(55002);
        char buffer[1024];
        std::size_t received = 0;
        sf::IpAddress sender;
        unsigned short port;
        socket.receive(buffer, sizeof(buffer), received, sender, port);
        std::cout << sender << " CLIENT SEND YOU : : " << buffer << std::endl;
        std::string message = "From server : Response is [ok]" + sender.toString();
        socket.send(message.c_str(), message.size() + 1, sender, port);


    }
    else if (lolz.compare("C") == 0){
        string ipSer;
        cout << "SERVER IP : ";
        cin >> ipSer;
        sf::UdpSocket socket;
        socket.bind(55001);
        // Send a message to IP on port 55002
        std::string message = "FROM CLIENT : [ok]  " + sf::IpAddress::getLocalAddress().toString();
        socket.send(message.c_str(), message.size() + 1, ipSer, 55002);
        char buffer[1024];
        std::size_t received = 0;
        sf::IpAddress sender;
        unsigned short port;
        socket.receive(buffer, sizeof(buffer), received, sender, port);
        std::cout << sender << " SERVER SEND YOU : : " << buffer << std::endl;
    }
}

ما حاولت:

حاولت إيقاف تشغيل جدار الحماية ومكافحة الفيروسات
تغيير المنافذ
….

الحل 1

سأحاول تشغيل هذا من سطر الأوامر، مع بعض التعديلات لجعله أمرًا بسيطًا. اجعل ذلك يعمل ثم أضف إليه قليلاً في كل مرة. ربما حاول بعد ذلك نقل ذلك إلى PowerShell. اجعل ذلك يعمل ثم أضف المزيد حتى تحصل على نتيجة مستقرة. ثم قم بتحويل PowerShell إلى C++. أعلم أنني لم أعطيك أي كود، لكن لم أجد مشكلة في الكود الخاص بك كما هو، فربما هناك مشكلة في مكان آخر. لكي أتمكن من البحث عن المشكلة الخارجية: ابدأ بسيطًا، بسيطًا جدًا، ثم أضف القليل في كل مرة.

コメント

タイトルとURLをコピーしました