Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sstream>
- #include <fstream>
- #include <string>
- #include <thread>
- #include <SFML/System.hpp>
- #include <SFML/Network.hpp>
- using namespace std;
- //chatLister chatReciever
- int Chats;string ChatNames[100][3];
- class chatReceiver{
- public:
- chatReceiver(char Message[100]);
- private:
- string getValue(string word,string element);
- };
- chatReceiver::chatReceiver(char Message[100]){
- stringstream StringMessage;StringMessage<<Message;
- string ChatName=getValue(StringMessage.str(),"Name");
- int portnumber;
- stringstream port(getValue(StringMessage.str(),"Port"));
- port>>portnumber;
- sf::TcpSocket Client;
- if(Client.connect(getValue(StringMessage.str(),"IP"),portnumber)==sf::Socket::Done){
- Chats++;ChatNames[Chats][0]=ChatName;
- ChatNames[Chats][1]=getValue(StringMessage.str(),"IP");
- ChatNames[Chats][2]=getValue(StringMessage.str(),"Port");
- }
- }
- string chatReceiver::getValue(string word,string element){
- word=word.substr(word.find(element+"=\""));
- return word.substr(0,word.find("\""));
- }
- int main(){
- while(true){
- char Message[100];size_t PacketSize;
- sf::TcpListener Server;
- Server.listen(2789);
- sf::TcpSocket Chat;
- if(Server.accept(Chat)){
- Chat.receive(Message,100,PacketSize);
- if(Message[1]=='s'){
- cout<<"New Chat Server";
- chatReceiver addChat(Message);
- }
- else if(Message[1]=='c'){
- cout<<"New Client";
- for(int tempchatnum=0;tempchatnum<Chats;tempchatnum++)
- {
- string ChatInfo="<n Name=\""+ChatNames[tempchatnum][0]+" \" IP=\""+ChatNames[tempchatnum][1]+"\" Port=\""+ChatNames[tempchatnum][2]+"\">\0";
- Chat.send(ChatInfo.c_str(),100);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement