Host-customized fork of https://github.com/tecnovert/basicswap/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1 KiB

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2020 tecnovert
# Distributed under the MIT software license, see the accompanying
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
'''
TODO:
'''
import select
import socket
import logging
class Peer:
pass
class Network:
def __init__(self, p2p_host, p2p_port, network_key):
self._p2p_host = p2p_host
self._p2p_port = p2p_port
self._network_key = network_key
self._peers = []
self._max_connections = 10
self._running = True
def listen(self):
self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self._socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self._socket.bind((self._p2p_host, self._p2p_port))
self._socket.listen(self._max_connections)
while self._running:
readable, writable, errored = select.select([self._socket], [], [])
for s in readable:
client_socket, address = self._socket.accept()
read_list.append(client_socket)
logging.info('Connection from %s', address)