我正在尝试学习 sfml,下面的代码不是我自己的。以后我会写我自己的。现在我需要知道为什么连接没有连接到我的真实 ip,但是当我使用我的本地 ip 时可以工作。
这是我的代码
#include<SFML/Graphics.hpp>
#include<SFML/Network.hpp>
#include<iostream>
#include<stdlib.h>
#include<ctime>
int main()
{
sf::IpAddress ip = "142.187.215.01"; // works with 127.0.0.1 or sf::IpAddress::localhost
std::cout << ip;
sf::TcpSocket socket;
char connectionType;
std::string text = "";
char buffer[2000], mode = 'r';
std::size_t received;
std::cout << "Enter (s) for Server, Enter (c) for Client: ";
std::cin >> connectionType;
if(connectionType == 's')
{
sf::TcpListener listener;
listener.listen(2000);
listener.accept(socket);
text += "Server";
mode = 's';
}
else if(connectionType == 'c')
{
socket.connect(ip, 2000);
text += "Client";
}
socket.send(text.c_str(), text.length() + 1);
socket.receive(buffer, sizeof(buffer), received);
std::cout << buffer << std::endl;
bool done = false;
while(!done)
{
if(mode == 's')
{
std::getline(std::cin, text);
socket.send(text.c_str(), text.length() + 1);
mode = 'r';
}
else if(mode == 'r')
{
socket.receive(buffer, sizeof(buffer), received);
if(received > 0)
{
std::cout << "Received: " << buffer << std::endl;
mode = 's';
}
}
}
return 0;
}