Пример #1
0
def send(h, u):
    while True:
        print '> ',
        sys.stdout.flush()
        input = yield multitask.read(sys.stdin.fileno(), 4096)
        if input == None or input.strip() == "exit":
            break
        yield h.send(rfc3921.Message(body=input.strip()))
    yield u.logout()
    sys.exit(0)
Пример #2
0
def echo_client(hostname, port):
    addrinfo = socket.getaddrinfo(hostname, port, socket.AF_UNSPEC,
                                  socket.SOCK_STREAM)
    family, socktype, proto, canonname, sockaddr = addrinfo[0]

    with closing(socket.socket(family, socktype, proto)) as sock:
        sock.connect(sockaddr)

        while True:
            if sys.platform == 'win32':
                input = sys.stdin.readline()
            else:
                input = (yield multitask.read(STDIN_FILENO, 1024))

            yield multitask.send(sock, input)
            output = (yield multitask.recv(sock, 1024))

            if sys.platform == 'win32':
                sys.stdout.write(output)
            else:
                yield multitask.write(STDOUT_FILENO, output)
Пример #3
0
        family, socktype, proto, canonname, sockaddr = addrinfo
        sock = socket.socket(family, socktype, proto)
        try:
            yield multitask.connect(sock, sockaddr)
            break
        except socket.error, err:
            sock.close()
    else:
        raise socket.error(err)

    with closing(sock):
        while True:
            if sys.platform == 'win32':
                input = sys.stdin.readline()
            else:
                input = (yield multitask.read(sys.stdin.fileno(), 1024))

            yield multitask.send(sock, input)
            output = (yield multitask.recv(sock, 1024))

            if sys.platform == 'win32':
                sys.stdout.write(output)
            else:
                yield multitask.write(sys.stdout.fileno(), output)


if __name__ == '__main__':
    hostname = None
    port = 1111

    if len(sys.argv) > 1:
Пример #4
0
        family, socktype, proto, canonname, sockaddr = addrinfo
        sock = socket.socket(family, socktype, proto)
        try:
            yield multitask.connect(sock, sockaddr)
            break
        except socket.error, err:
            sock.close()
    else:
        raise socket.error(err)

    with closing(sock):
        while True:
            if sys.platform == "win32":
                input = sys.stdin.readline()
            else:
                input = (yield multitask.read(sys.stdin.fileno(), 1024))

            yield multitask.send(sock, input)
            output = (yield multitask.recv(sock, 1024))

            if sys.platform == "win32":
                sys.stdout.write(output)
            else:
                yield multitask.write(sys.stdout.fileno(), output)


if __name__ == "__main__":
    hostname = None
    port = 1111

    if len(sys.argv) > 1: