Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #default steps
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.bind((TCP_IP, TCP_PORT))
- s.listen(1)
- conn,addr = s.accept()
- ...
- #oob
- conn.send('!',MSG_OOB)
- ...
- ...
- data = conn.recv(BUFFER_SIZE,MSG_OOB)
- serverFile = open(serverPath, 'rb')
- while True:
- fileBytes = serverFile.read(1000)
- if not fileBytes: break;
- try:
- i += 1
- if i % 1000 == 0:
- print 'sending urgent..'
- conn.send('!',MSG_OOB)
- conn.send(fileBytes)
- except socket.error, (value, message):
- if conn:
- conn.close()
- serverFile.close()
- print 'Error while sending data : error code - ' + str(value) + '; message: ' + message
- exit(1)
- serverFile.close()
- #catching urgent data
- s.settimeout(2)
- try:
- data = s.recv(BUFFER_SIZE,MSG_OOB)
- except socket.error, value: #(value,message):
- #s.settimeout(5)
- data = None
- if data:
- print 'urgent ' + str(data)
- else:
- #recv usual data
- data = s.recv(BUFFER_SIZE)
- def handler(sig_num, frame):
- ....
- signal.signal(signal.SIGURG, handler)
- fcntl.fcntl(client.fileno(), fcntl.F_SETOWN, os.getpid())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement