网络地址转换

来源:互联网 发布:机器人足球射门算法 编辑:程序博客网 时间:2024/06/11 00:42

网络地址转换不仅仅是IP地址,是IP地址和端口号组合的转换

(IP1,PORT1) => (IP2,PORT2)

server.py

import sysimport socketHOST=''PORT=8888cnt=0s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)print 'Socket created'try:    s.bind((HOST,PORT))except socket.error as msg:    print 'Bind failed. Error Code : ' + str(msg[0]) + msg[1]    sys.exit()print 'Socket bind complete's.listen(10)print 'Socket now listening'while True:    conn, addr = s.accept()    cnt = cnt + 1;    print str(cnt) +  ' : Connect with ' + addr[0] + ':' + str(addr[1])    #conn.close()s.close()

client.py

import sysimport socketHOST=sys.argv[1]PORT=int(sys.argv[2])s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)s.bind(('',9999))s.connect((HOST,PORT))addr,port=s.getsockname()print 'local address %s:%d' %(addr,port)addr,port=s.getpeername()print 'remote address %s:%d' %(addr,port)print 'press Enter to return'sys.stdin.readline()s.close()


0 0
原创粉丝点击