Bir projede kullanmak üzere tcp socket üzerinden hex kodu gönderimi ve dönen cevabın alınmasına gerek oldu.

Burada kodun yaptığı iş bir txt dosyasından ascii formatındaki bilgileri alarak, hex formatına çevirmesi ve ardından bu bilgilerin karşıdaki sunucunun ilgili portuna gönderilmesidir. Karşı taraftaki sunucudan dönen cevap  reply komutuna atanmakta ve dönen cevap yazdırılmaktadır.

import sys
import socket

def client(elems):
    try:
        for i in range(1, 3):
        HOST, PORT = '192.168.10.1', 2025
        # SOCK_STREAM == a TCP socket
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        #sock.setblocking(0)  # optional non-blocking
        sock.connect((HOST, PORT))

        print "%s" % (list[i-1].strip().decode("hex"))
        print "sending data => %s" % (list[i-1].strip().decode("hex"))
        sock.send(list[i-1].strip().decode("hex"))
        reply = sock.recv(16384)  # limit reply to 16K
        return reply

    except Exception as msg:
        print msg
    sock.close()

#########################################################

if __name__ == "__main__":
    fo = open("commands_ascii.txt", "rw+")
    list=[]
    for index in iter(fo):
        list.append(index)

    for line in range(0,2):
        client('%s' % list[line])