sendall() :TCP recvfrom() :UDP recvfrom_into() :UDP sendto() :UDP ''' HOST = 'localhost' # HOST = '::1' PORT = 9999 ADDR = (HOST, PORT) if __name__ == "__main__": # s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) # s.settimeout(5) # s.connect(ADDR) # print(s.recv(1024).decode('utf-8')) # for data in [b'Tony', b'Nick', b'Ulysses']: # s.send(data) # print(s.recv(1024).decode('utf-8')) # s.send(b'exit') # s.close() s = MySocket() s.connect(HOST, PORT) print(s.myreceive(32).decode('utf-8')) for data in [b'Tony', b'Nick', b'Ulysses']: print(len(data)) s.mysend(data) print(s.myreceive(32).decode('utf-8')) s.mysend(b'exit') s.close()
def create_connection(): print('create connection') socket = MySocket() socket.connect(hostname, port) connections.append(socket) expected_messages.append([])
dFiles = None while True: if state == "requestServerIP": # send server's domain to DNS and get its IP with MySocket(socket.AF_INET, socket.SOCK_DGRAM) as s: s.dnsQuery("bois.com", DNS_HOST, DNS_PORT) data = s.recv(1024) if data.decode() == '-1': print('Error: Domain not found') state = "domainNotFound" else: server_HOST = data socketClient = MySocket(socket.AF_INET, socket.SOCK_STREAM) socketClient.connect((server_HOST, server_PORT)) state = "menu" # print('Received', data.decode()) elif state == "domainNotFound": m = str(input("Do you want to try to request the domain to the DNS server again? yes(y) or no(n)\n")) if m == "y": state = "requestServerIP" elif m == "n": state = "break" elif state == "menu": # connect to server print(MENU) choice = str(input("\nType your choice's number\n")) socketClient.send(choice.encode())
import socket from MySocket import MySocket from MaxSubArray import maxSubArraySum if __name__ == "__main__": IP = "chals3.umdctf.io" PORT = 6001 SUFFIX = '\n\n' addtuple = (IP, PORT) # create an INET, STREAMing socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client = MySocket(s) client.connect(IP, PORT) initialMessage = client.myreceive2Suffix(SUFFIX) print("{}\nMessage : {}".format(initialMessage, len(initialMessage))) response = "\n".encode() client.mysend(response) arr = client.myreceive2Suffix(SUFFIX) # Before passing the list along we have to clean the data, # becasue it is a string at this point print("{}\nArray : {}".format(arr, len(arr))) newarr = arr.lstrip("[").rstrip("]\n") listRes = list(newarr.split(", ")) listInts = list(map(int, listRes)) result = maxSubArraySum(listInts, len(listInts)) response = "{}, {}, {}".format(*result).encode() print("Response is: {} ".format(response.decode()))