Tại sao ổ cắm udp này không hoạt động khi tôi chạy nó trên máy tính ngoài mạng?

lập trình


Tôi đang cố gắng tạo kết nối giữa hai máy tính, cả hai đều đang sử dụng bộ điều hợp tp-link, nhưng tôi không nhận được bất cứ thứ gì từ máy khách.

<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;
    }
}

Những gì tôi đã thử:

tôi đã cố tắt tường lửa, phần mềm diệt virus
thay đổi cổng
….

Giải pháp 1

Tôi sẽ thử chạy lệnh này từ một dòng lệnh, với một số điều chỉnh để biến nó thành một lệnh đơn giản. Hãy làm việc đó rồi thêm vào đó từng chút một. Có lẽ sau đó hãy thử chuyển nó sang PowerShell. Làm cho nó hoạt động sau đó thêm nhiều hơn cho đến khi bạn có kết quả ổn định. Sau đó chuyển đổi PowerShell sang C++. Tôi biết rằng tôi đã không cung cấp cho bạn bất kỳ mã nào, nhưng tôi không tìm thấy vấn đề gì với mã của bạn, vì vậy có thể có vấn đề ở nơi khác. Đó là cách tôi có thể tìm kiếm vấn đề bên ngoài: bắt đầu đơn giản, rất đơn giản, sau đó thêm từng chút một.

コメント

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