Advertisement
Guest User

Untitled

a guest
Jun 20th, 2014
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. #include <SFML/Network.hpp>
  4.  
  5. int main(int argc, char* argv[])
  6. {
  7.     sf::IpAddress ip = sf::IpAddress::getLocalAddress();
  8.     sf::TcpSocket socket;
  9.     char connectionType, mode;
  10.  
  11.     std::string text = "Connected to: ";
  12.  
  13.     std::cout << "Enter (s) for Server or (c) for Client" << std::endl;
  14.     std::cin >> connectionType;
  15.  
  16.     if (connectionType == 's')
  17.     {
  18.         sf::TcpListener listener;
  19.         listener.listen(1234);
  20.         listener.accept(socket);
  21.  
  22.         text += "Server";
  23.         mode = 's';
  24.     }
  25.     else if (connectionType == 'c')
  26.     {
  27.         socket.connect(ip, 1234);
  28.         text += "Client";
  29.         mode = 'r';
  30.     }
  31.     else
  32.         return 1;
  33.  
  34.     bool done = false;
  35.  
  36.     while (!done)
  37.     {
  38.         if (mode == 's')
  39.         {
  40.             std::getline(std::cin, text);
  41.  
  42.             sf::Packet packet;
  43.             packet << text;
  44.             socket.send(packet);
  45.  
  46.             packet.clear();
  47.             mode = 'r';
  48.         }
  49.         else
  50.         {
  51.             sf::Packet packet;
  52.             packet.clear();
  53.  
  54.             if (socket.receive(packet) == sf::Socket::Disconnected)
  55.             {
  56.                 std::cout << "Disconnected!" << std::endl;
  57.                 break;
  58.             }
  59.            
  60.             //This next line fixes the error just need to comment it out
  61.             //text.reserve(1);
  62.             packet >> text;
  63.             packet.clear();
  64.  
  65.             std::cout << text << std::endl;
  66.  
  67.             mode = 's';
  68.         }
  69.     }
  70.  
  71.     system("pause");
  72.  
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement