1
SFML projects / Re: My proyect: ImageRunner
« on: August 03, 2013, 09:22:33 pm »
i was messing with this for atleast an hour. good job
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
You can connect to yourself using your public IP, but you have to configure your router and firewall so that they don't block the connection.
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;
}