Exemplo n.º 1
0
def main():
    # set up logger
    logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s:%(levelname)s:%(message)s')

    # initalize chat server instance
    logging.debug("Initialize chat server")
    server = ChatServer()

    # set up handler for processing outgoing messages
    # TODO: add support for more threads, only necessary if heavy load. So probably will never do this.
    logging.debug(f"Setting up handler for processing outgoing messages")
    t = Thread(target=server.process_outgoing_messages)
    t.setDaemon(True)
    t.start()

    # set up handler for processing outgoing messages
    # TODO: add support for more threads, only necessary if heavy load. So probably will never do this.
    logging.debug(f"Setting up handler for processing incoming messages")
    t = Thread(target=server.process_incoming_messages)
    t.setDaemon(True)
    t.start()

    # spawn a thread to handle send/recv for each connection we receive
    while True:
        try:
            # handle_connections waits for new connections, if the function returns we create a thread to handle
            # the new connection. Then we wait for another one.
            t = Thread(target=server.handle_connections,
                       args=(server.get_connections(), ))
            t.setDaemon(True)
            t.start()
        except KeyboardInterrupt:
            print('Bye.')
            exit(1)
Exemplo n.º 2
0
def chat_server_thread(port, pri):
    print("[Server] Private: ", pri)
    exchange_server = ExchangeServer(port, pri)
    sym_key = exchange_server.serve()
    print("[Server] sym_key: ", sym_key)

    chat_server = ChatServer(port, sym_key)
    chat_server.serve()
Exemplo n.º 3
0
    def setUp(self):
        """
        Sets up the test environment by running a new ChatServer thread.
        """
        self.chat_server = ChatServer(self.HOST, self.PORT)
        self.chat_server.start()

        time.sleep(1)  # Gives the client the time for connecting to the server
Exemplo n.º 4
0
    port = DEFAULT_PORT
    server_address = DEFAULT_SERVER_IP_LISTENING_ADDRESS
    # TODO: Edit code for working with console keys -address, -port
    # or find out library
    if len(sys.argv) > 1:
        # TODO: Create a function with code from 'else'
        key1 = sys.argv[1]
        if key1 == '-p':
            try:
                port = int(sys.argv[2])
            except ValueError:
                print('Port should be integer number')
                sys.exit(0)
        elif key1 == '-a':
            try:
                server_address = sys.argv[2]
            except ValueError:
                print('Value error in server address')
                sys.exit(0)
    return port, server_address


logging.basicConfig(stream=sys.stdout, level=logging.INFO)

port, server_address = parse_command_line()
chat_server = ChatServer(server_address, port)
sock = chat_server.connect()
if __debug__:
    logging.info('Set port to {}'.format(port))
chat_server.listen_for_good()
Exemplo n.º 5
0
import logging

from cyber import options
from chat_protocol import ChatProtocol
from chat_server import ChatServer, ChatClient
from cyber import server_logger, client_logger

if __name__ == '__main__':
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)
    server_logger.setLevel(logging.DEBUG)
    client_logger.setLevel(logging.DEBUG)
    server_logger.addHandler(ch)
    client_logger.addHandler(ch)
    options.load_yaml("chat2.yaml")
    protocol = ChatProtocol(2, ">H")
    chat_server = ChatServer(protocol, ChatClient)
    chat_server.impl(options)
    chat_server.run()
Exemplo n.º 6
0
        start_new_thread(listen_users, (server, connection))
        server.send_mensage(
            json.dumps({
                'mensagem': f'{nickname} entrou no servidor',
                'nickname': 'Server'
            }).encode())


def listen_users(server, connection):
    while True:
        mensagem = connection.recv(1024)
        if not mensagem:
            connection.close()
        else:
            value = server.verify_mensage(connection, mensagem)
            if value == 1:
                server.send_mensage(mensagem)
            if value == 2:
                connection.close()
                break


server = ChatServer()

server.server_socket.bind(('127.0.0.1', 65432))
server.server_socket.listen(1)

t_1 = threading.Thread(target=add_users(server))

t_1.start()
Exemplo n.º 7
0
# -*- coding:utf-8 -*-
"""
Created on 19/06/2017

@author: zhaojm
"""

import os
import sys

current_path = os.path.dirname(os.path.abspath(__file__))
source_path = os.path.join(current_path, "../../")
sys.path.append(source_path)

from chat_server import ChatServer
from core.reactor import start_reactor
from core.factory import init_server

s = ChatServer()
init_server(s)
start_reactor()
Exemplo n.º 8
0
from chat_server import ChatServer
from chat_client import ChatClient
from config import Config, LoadFromArgparse, LoadFromConsole, LoadFromFile, LoadFromParams

if __name__ == "__main__":

    config = Config(LoadFromParams())

    server = ChatServer(config.get_dict_config())

    server.send_message(b"Hello")
Exemplo n.º 9
0
import sys
from chat_server import ChatServer
import time

#The line means that we allow you to connect with any host (any IP and Hostname).
#You can explicitly write a localhost or 127.0.0.1, then it will only work on one computer.
server = ChatServer(5000, '10.40.27.236')
server.start()

try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    server.stop()

Exemplo n.º 10
0
def listen(port):
    click.echo('starting chat server at {}'.format(port))
    chat_server = ChatServer(port=port)
    chat_server.start()
Exemplo n.º 11
0
from chat_server import ChatServer
from twisted.internet import reactor

if __name__ == '__main__':
    reactor.listenTCP(9399, ChatServer())
    reactor.run()