I have been at this for hours now -.- So annoyed..
I have my server set to listen on port 2000 like sooo..
sf::TcpListener listener;
listener.listen(2000);
listener.accept(socket);
Then i have my client set to connect to the server like so...
socket.connect("142.197.200.18", 2000);
Why doesn't this work? I need to do this so that people not on my network could connect.. Doing this locally is unacceptable.
Entire Code:
#include<SFML/Graphics.hpp>
#include<SFML/Network.hpp>
#include<iostream>
#include<stdlib.h>
#include<ctime>
int main()
{
sf::IpAddress ip = "142.197.200.18";
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;
}