Esempio n. 1
0
from rdt2_0 import RDTSocket
from threading import *
import time

client_addr = ("127.0.0.1", 9092)
client = RDTSocket()

if __name__ == '__main__':
    client.bind(client_addr)
    client.connect(("127.0.0.1", 9090))

    start = time.time()
    with open("../src/补充说明.pdf", 'rb') as file:
        data = file.read()
    client.send(data)

    with open("../dst/补充说明2.pdf", mode='wb') as file:
        data = client.recv(1024000000)
        print("-----------------------")
        print("Server Receive!", time.time() - start)
        print("-----------------------")
        file.write(data)

    client.close()
    print("Program exit!")

    # while True:
    #     data = input(">")
    #     client.send(data.encode())
    #
    #     if data == 'exit':
Esempio n. 2
0
from rdt2_0 import RDTSocket
import time

server_addr = ("127.0.0.1", 9090)
server = RDTSocket()

if __name__ == '__main__':
    server.bind(server_addr)
    conn, addr = server.accept()

    while True:
        msg = conn.recv(1024)
        print(msg)
        if msg == b'0':
            break

    server.close()
    conn.close()
    print("Program exit!")
Esempio n. 3
0
from rdt2_0 import RDTSocket
from threading import *
import time

client_addr = ("127.0.0.1", 9092)
client = RDTSocket()

if __name__ == '__main__':
    client.bind(client_addr)
    client.connect(("127.0.0.1", 9090))

    while True:
        msg = input(">")
        client.send(msg.encode())
        if msg == '0':
            break

    client.close()
    print("Program exit!")
Esempio n. 4
0
from rdt2_0 import RDTSocket
from socket import socket, AF_INET, SOCK_STREAM
import time
from difflib import Differ

if __name__ == '__main__':
    # client = RDTSocket()
    # client = socket(AF_INET, SOCK_STREAM) # check what python socket does
    client = RDTSocket(debug=True)  # check what python socket does
    client.connect(('127.0.0.1', 9999))

    echo = b''
    count = 10
    slice_size = 2048
    blocking_send = False

    # with open('alice.txt', 'r') as f:
    with open('alice.txt', 'r') as f:
        data = f.read()
        encoded = data.encode()
        assert len(data) == len(encoded)
    '''
    check if your rdt pass either of the two
    mode A may be significantly slower when slice size is small
    '''
    if blocking_send:
        print('transmit in mode A, send & recv in slices')
        slices = [
            encoded[i * slice_size:i * slice_size + slice_size]
            for i in range(len(encoded) // slice_size + 1)
        ]
Esempio n. 5
0
from rdt2_0 import RDTSocket
import time

if __name__ == '__main__':
    server = RDTSocket()
    server.bind(('127.0.0.1', 9999))

    while True:
        conn, client_addr = server.accept()
        start = time.perf_counter()
        while True:
            data = conn.recv(2048)
            if data:
                conn.send(data)
            else:
                break
        '''
        make sure the following is reachable
        '''
        conn.close()
        print(f'connection finished in {time.perf_counter()-start}s')
Esempio n. 6
0
from rdt2_0 import RDTSocket
from socket import socket, AF_INET, SOCK_DGRAM, SOCK_STREAM
import time

if __name__=='__main__':
    # server = RDTSocket()
    # server = socket(AF_INET, SOCK_STREAM) # check what python socket does
    server = RDTSocket() # check what python socket does
    server.bind(('127.0.0.1', 9999))
    # server.listen(0) # check what python socket does

    while True:
        conn, client_addr = server.accept()
        start = time.perf_counter()
        while True:
            data = conn.recv(2048)
            if data:
                conn.send(data)
            else:
                break
        '''
        make sure the following is reachable
        '''
        conn.close()
        server.close()
        print(f'connection finished in {time.perf_counter()-start}s')
Esempio n. 7
0
from rdt2_0 import RDTSocket
import time
from difflib import Differ

client = RDTSocket()
client.connect(('127.0.0.1', 9999))

data_count = 0
echo = b''
count = 3

with open('alice.txt', 'r') as f:
    data = f.read()
    encoded = data.encode()
    assert len(data) == len(encoded)

start = time.perf_counter()
for i in range(count):  # send 'alice.txt' for count times
    data_count += len(data)
    client.send(encoded)
'''
blocking send works but takes more time 
'''

while True:
    reply = client.recv(2048)
    echo += reply
    print(reply)
    if len(echo) == len(encoded) * count:
        break
client.close()
Esempio n. 8
0
from rdt2_0 import RDTSocket
from socket import socket, AF_INET, SOCK_DGRAM, SOCK_STREAM
import time

if __name__ == '__main__':
    # server = RDTSocket()
    # server = socket(AF_INET, SOCK_STREAM) # check what python socket does
    server = RDTSocket(debug=True)  # check what python socket does
    server.bind(('127.0.0.1', 33333))
    # server.listen(0) # check what python socket does

    while True:
        conn, client_addr = server.accept()
        start = time.perf_counter()
        while True:
            data = conn.recv(2048)
            if data:
                conn.send(data)
            else:
                break
        '''
        make sure the following is reachable
        '''
        conn.close()
        print(f'connection finished in {time.perf_counter()-start}s')