當前位置: 首頁>>代碼示例>>Python>>正文


Python socket.SOCK_STREAM屬性代碼示例

本文整理匯總了Python中gevent.socket.SOCK_STREAM屬性的典型用法代碼示例。如果您正苦於以下問題:Python socket.SOCK_STREAM屬性的具體用法?Python socket.SOCK_STREAM怎麽用?Python socket.SOCK_STREAM使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在gevent.socket的用法示例。


在下文中一共展示了socket.SOCK_STREAM屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _dnsQuery

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def _dnsQuery(hostname, serveListr='system', tcp=False):
    u'''純粹的查詢,並沒有過濾之類的功能

server:
    'system'
    '8.8.8.8'
    ['8.8.8.8','8.8.4.4']
返回值
    ['1.1.1.1','2.2.2.2']
    '''
    if serveListr == 'system':
        try:
            res = socket.getaddrinfo(hostname, 80, 0, socket.SOCK_STREAM, socket.IPPROTO_TCP)
            return [r[4][0] for r in res]
        except Exception:
            info = traceback.format_exc()
            logging.debug(u'[DNS][_dnsQuery][socket.getaddrinfo] 解析失敗,host=%s 詳細信息:' % hostname)
            logging.debug('%s\r\n\r\n' % info)
            return []
    else:
        t = dnsPool.spawn(_dnspythonQuery, hostname, serveListr, tcp)
        return t.get(True) 
開發者ID:GameXG,項目名稱:TcpRoute,代碼行數:24,代碼來源:__init__.py

示例2: __init__

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def __init__(self, config):
        UpstreamBase.__init__(self, config)

        self.socks5_hostname = config.get('host')
        self.socks5_port = config.get('port')

        if self.socks5_hostname is None or self.socks5_port is None:
            ms = u'[配置錯誤] host、port 不能為空! upstream-type:%s' % self.type
            raise ConfigError(ms)

        class socket(SocketBase):
            # TODO: 停掉一些不支持方法。
            def __init__(self, family=_socket.AF_INET, type=_socket.SOCK_STREAM, proto=0, _sock=None):
                if _sock is None:
                    _sock = socket.upstream.socket(family=family, type=type, proto=proto)
                SocketBase.__init__(self, _sock)

        socket.socks5_hostname = self.socks5_hostname
        socket.socks5_port = self.socks5_port
        socket.upstream = self.upstream
        socket.display_name = self.get_display_name()
        socket.name = self.get_name()

        self.socket = socket 
開發者ID:GameXG,項目名稱:TcpRoute,代碼行數:26,代碼來源:socks5.py

示例3: is_port_open

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def is_port_open(host, port):
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(3.0)
        if s.connect_ex((host, int(port))) == 0:
            return True
        else:
            return False
    except Exception as e:
        return False
    finally:
        try:
            s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 1, 0))
            s.close()
        except Exception as e:
            pass 
開發者ID:lijiejie,項目名稱:BBScan,代碼行數:18,代碼來源:common.py

示例4: run

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def run(self, retry_time = None):
        task_id = id(gevent.getcurrent())

        try:
            while True:
                try:
                    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
                        sock.connect((self.address, self.port))
                        self._handle(sock, (str(self.address), self.port))
                        break
                except (ConnectionRefusedError, TimeoutError) as e:
                    if retry_time is not None:
                        if isinstance(e, ConnectionRefusedError):
                            reason = 'remote end is refusing connections'
                        else:
                            reason = 'connection timed out'
                        self.logger.info('%s(%s): %s. Reconnecting in %d seconds...' %
                                         (self.task_name, task_id, reason, retry_time))
                        gevent.sleep(retry_time)
                    else:
                        break
        except Exception:
            self.logger.exception('%s(%s) terminated with an exception' % (self.task_name, task_id)) 
開發者ID:Griffon26,項目名稱:taserver,代碼行數:25,代碼來源:connectionhandler.py

示例5: client

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def client():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(('localhost', PORT))
    f = sock.makefile(mode='wr')
    f.write(MSG)
    f.flush()
    assert f.readline() == MSG
    f.close() 
開發者ID:jgehrcke,項目名稱:gipc,代碼行數:10,代碼來源:serverclient.py

示例6: _new_socket

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def _new_socket(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
開發者ID:ValvePython,項目名稱:steam,代碼行數:4,代碼來源:connection.py

示例7: connect

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def connect(self, host=None, port=None, address_family=None):
        """
        Method that initiates a connection to an EPP host
        """
        host = host or self.host
        self.sock = socket.socket(address_family or socket.AF_INET, socket.SOCK_STREAM)
        self.sock.settimeout(self.socket_connect_timeout)  # connect timeout
        self.sock.connect((host, port or self.port))
        local_sock_addr = self.sock.getsockname()
        local_addr, local_port = local_sock_addr[:2]
        self.log.debug('connected local=%s:%s remote=%s:%s',
                       local_addr, local_port, self.sock.getpeername()[0], port)
        self.sock.settimeout(self.socket_timeout)  # regular timeout
        if self.ssl_enable:
            self.sock = ssl.wrap_socket(self.sock, self.keyfile, self.certfile,
                                        ssl_version=self.ssl_version,
                                        ciphers=self.ssl_ciphers,
                                        server_side=False,
                                        cert_reqs=self.cert_required,
                                        ca_certs=self.cacerts)
            self.log.debug('%s negotiated with local=%s:%s remote=%s:%s', self.sock.version(),
                           local_addr, local_port, self.sock.getpeername()[0], port)
            if self.validate_hostname:
                try:
                    match_hostname(self.sock.getpeercert(), host)
                except CertificateError as exp:
                    self.log.exception("SSL hostname mismatch")
                    raise EppConnectionError(str(exp))
        self.greeting = EppResponse.from_xml(self.read().decode('utf-8')) 
開發者ID:cloudregistry,項目名稱:eppy,代碼行數:31,代碼來源:client.py

示例8: __init__

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def __init__(self,config):
        u""" 初始化直連 socket 環境 """
        UpstreamBase.__init__(self,config=config)

        self.source_ip = config.get('source_ip','0.0.0.0')
        self.source_port = config.get('source_port',0)

        self.route_cache = LRUCacheDict(500, 10 * 60 * 1000)

        if self.source_ip == '0.0.0.0' and self.source_port==0:
            self.source_address = None
        else:
            self.source_address=(self.source_ip,self.source_port)

        class socket(SocketBase):
            def __init__(self, family=_socket.AF_INET, type=_socket.SOCK_STREAM, proto=0,_sock=None):
                if _sock is None:
                    _sock = socket.upsocket.socket(family=family,type=type,proto=proto)
                    _sock.bind(self.source_address)
                SocketBase.__init__(self,_sock)

        socket.source_address = self.source_address
        socket.upstream = self.upstream
        socket.display_name = self.get_display_name()
        socket.name = self.get_name()

        self.socket = socket 
開發者ID:GameXG,項目名稱:TcpRoute,代碼行數:29,代碼來源:direct.py

示例9: __init__

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def __init__(self):
        ip = config("cuckoo:resultserver:ip")
        port = config("cuckoo:resultserver:port")
        pool_size = config("cuckoo:resultserver:pool_size")

        sock = gevent.socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

        try:
            sock.bind((ip, port))
        except (OSError, socket.error) as e:
            if e.errno == errno.EADDRINUSE:
                raise CuckooCriticalError(
                    "Cannot bind ResultServer on port %d "
                    "because it was in use, bailing." % port
                )
            elif e.errno == errno.EADDRNOTAVAIL:
                raise CuckooCriticalError(
                    "Unable to bind ResultServer on %s:%s %s. This "
                    "usually happens when you start Cuckoo without "
                    "bringing up the virtual interface associated with "
                    "the ResultServer IP address. Please refer to "
                    "https://cuckoo.sh/docs/faq/#troubles-problem "
                    "for more information." % (ip, port, e)
                )
            else:
                raise CuckooCriticalError(
                    "Unable to bind ResultServer on %s:%s: %s" % (ip, port, e)
                )

        # We allow user to specify port 0 to get a random port, report it back
        # here
        _, self.port = sock.getsockname()
        sock.listen(128)

        self.thread = threading.Thread(
            target=self.create_server, args=(sock, pool_size)
        )
        self.thread.daemon = True
        self.thread.start() 
開發者ID:Ryuchen,項目名稱:Panda-Sandbox,代碼行數:42,代碼來源:ResultManager.py

示例10: generate_socket

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def generate_socket(room_id):
    """Generate the socket to communicate with Bilibili Danmaku Server.

    :param room_id: the id of live room.
    """
    global is_first
    retry_time = 0
    socket.setdefaulttimeout(TIME_OUT)
    userid = int(100000000 * random.random())
    body = ('{"roomid": ' + str(room_id) + ', "uid": ' + str(userid) +'}')
    while True:
        try:
            sock = socket.socket(socket.AF_INET,
                             socket.SOCK_STREAM)
            address = get_server(room_id)
            sock.connect(
                (address, 788))
            send_data = send_socket_data(sock, 16 + len(body), 16,
                    1, 7, 1, body)
        except socket.error as exc:
            if retry_time == MAX_RETRY:
                if not is_first:
                    terminate()
                raise RuntimeError("重試請求過多,服務中止!")
            print "服務器連接失敗..."
            retry_time += 1
            time.sleep(4)
            continue

        if is_first:
            print "開始接收彈幕。(Ctrl + C 退出)"
            is_first = False
        retry_time = 0
        try:
            yield sock
        finally:
            sock.close() 
開發者ID:OctavianLee,項目名稱:Barrage,代碼行數:39,代碼來源:socket_process.py

示例11: __init__

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def __init__(self):
        self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
開發者ID:DangerOnTheRanger,項目名稱:maniwani,代碼行數:4,代碼來源:storestub.py

示例12: main

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def main(args):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(server_address)
    writer = TcpMessageWriter(sock)
    reader = TcpMessageReader(sock)

    writer.send(Auth2LoginAuthCodeRequestMessage('getauthcode', args.username, args.email).to_bytes())
    result = parse_message_from_bytes(reader.receive())

    if not isinstance(result, Login2AuthAuthCodeResultMessage) or result.authcode is None:
        print(result.error_message)
    else:
        print(f'Received authcode {result.authcode} for username {result.login_name}') 
開發者ID:Griffon26,項目名稱:taserver,代碼行數:15,代碼來源:getauthcode.py

示例13: _send_command

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def _send_command(self, command):
        server_address = ("127.0.0.1", self.ports['firewall'])
        proxy_addresses = (("127.0.0.1", self.ports['gameserver1firewall']),
                           ("127.0.0.1", self.ports['gameserver2firewall']))

        try:
            with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
                sock.connect(server_address)
                TcpMessageWriter(sock).send(json.dumps(command).encode('utf8'))

            if command['list'] == 'whitelist':
                for proxy_address in proxy_addresses:
                    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
                        sock.connect(proxy_address)
                        if command['action'] == 'reset':
                            message = b'reset'
                        else:
                            address = IPv4Address(command['ip'])
                            action = b'a' if command['action'] == 'add' else b'r'
                            message = action + struct.pack('<L', command['player_id']) + address.packed
                        sock.sendall(struct.pack('<L', len(message)))
                        sock.sendall(message)
                        sock.shutdown(socket.SHUT_RDWR)

        except ConnectionRefusedError:
            logger = logging.getLogger(__name__)
            logger.warning('\n'
                           '--------------------------------------------------------------\n'
                           'Warning: Failed to connect to taserver firewall for modifying \n'
                           'the firewall rules.\n'
                           'Did you forget to run start_taserver_firewall.py (as admin)?\n'
                           'If you want to run without the firewall and udpproxy you will need\n'
                           'to change the gameserver port to 7777 in gameserverlauncher.ini.\n'
                           '--------------------------------------------------------------') 
開發者ID:Griffon26,項目名稱:taserver,代碼行數:36,代碼來源:firewall.py

示例14: _lookup_port

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def _lookup_port(self, port, socktype):
        socktypes = []
        if isinstance(port, string_types):
            try:
                port = int(port)
            except ValueError:
                try:
                    if socktype == 0:
                        origport = port
                        try:
                            port = getservbyname(port, 'tcp')
                            socktypes.append(SOCK_STREAM)
                        except error:
                            port = getservbyname(port, 'udp')
                            socktypes.append(SOCK_DGRAM)
                        else:
                            try:
                                if port == getservbyname(origport, 'udp'):
                                    socktypes.append(SOCK_DGRAM)
                            except error:
                                pass
                    elif socktype == SOCK_STREAM:
                        port = getservbyname(port, 'tcp')
                    elif socktype == SOCK_DGRAM:
                        port = getservbyname(port, 'udp')
                    else:
                        raise gaierror(EAI_SERVICE, 'Servname not supported for ai_socktype')
                except error as ex:
                    if 'not found' in str(ex):
                        raise gaierror(EAI_SERVICE, 'Servname not supported for ai_socktype')
                    else:
                        raise gaierror(str(ex))
                except UnicodeEncodeError:
                    raise error('Int or String expected')
        elif port is None:
            port = 0
        elif isinstance(port, integer_types):
            pass
        else:
            raise error('Int or String expected', port, type(port))
        port = int(port % 65536)
        if not socktypes and socktype:
            socktypes.append(socktype)
        return port, socktypes 
開發者ID:leancloud,項目名稱:satori,代碼行數:46,代碼來源:resolver_ares.py

示例15: _lookup_port

# 需要導入模塊: from gevent import socket [as 別名]
# 或者: from gevent.socket import SOCK_STREAM [as 別名]
def _lookup_port(self, port, socktype):
        # pylint:disable=too-many-branches
        socktypes = []
        if isinstance(port, string_types):
            try:
                port = int(port)
            except ValueError:
                try:
                    if socktype == 0:
                        origport = port
                        try:
                            port = getservbyname(port, 'tcp')
                            socktypes.append(SOCK_STREAM)
                        except error:
                            port = getservbyname(port, 'udp')
                            socktypes.append(SOCK_DGRAM)
                        else:
                            try:
                                if port == getservbyname(origport, 'udp'):
                                    socktypes.append(SOCK_DGRAM)
                            except error:
                                pass
                    elif socktype == SOCK_STREAM:
                        port = getservbyname(port, 'tcp')
                    elif socktype == SOCK_DGRAM:
                        port = getservbyname(port, 'udp')
                    else:
                        raise gaierror(EAI_SERVICE, 'Servname not supported for ai_socktype')
                except error as ex:
                    if 'not found' in str(ex):
                        raise gaierror(EAI_SERVICE, 'Servname not supported for ai_socktype')
                    else:
                        raise gaierror(str(ex))
                except UnicodeEncodeError:
                    raise error('Int or String expected')
        elif port is None:
            port = 0
        elif isinstance(port, integer_types):
            pass
        else:
            raise error('Int or String expected', port, type(port))
        port = int(port % 65536)
        if not socktypes and socktype:
            socktypes.append(socktype)
        return port, socktypes 
開發者ID:priyankark,項目名稱:PhonePi_SampleServer,代碼行數:47,代碼來源:resolver_ares.py


注:本文中的gevent.socket.SOCK_STREAM屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。