All pastes #1218049 Raw Edit

MessageSend in Python

public python v1 · immutable
#1218049 ·published 2008-10-03 14:44 UTC
rendered paste body
import socketimport sysfrom struct import *# import *def ConnectWithRouter(host):  port = 3450  sockobj = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  try:    sockobj.connect((host,port))  except:     return False, "Fehler beim Verbindungsaufbau"  else:    return True, sockobj    def DCECommand(fromDevice,socket):    message = "EVENT " + str(fromDevice) + "\n"  print message  print type(socket)  socket.send(message)  print "message send"  try:    data = socket.recv(1024)  except:    print data  else:    if data == "OK\n":      return True    else:      print data      return Falsedef SendBigBlob(blob,socket):  blobsize = len(blob)#  try:  socket.send("MESSAGET ")  socket.send(str(blobsize))  socket.send("\n")  socket.send(blob)  socket.send("\n")#  except:#    print "error sending big blob"       server = "dcerouter"magicNumber =  1234 deviceFromId = 78 # Oliver's phonereturnvalue = ConnectWithRouter(server)if (returnvalue[0]):   print "Erfolg"   dcerouter = returnvalue[1]   returnvalue = DCECommand(deviceFromId, dcerouter)else:   print returnvalue[1]   returnvalue = Falseif (returnvalue):  print "Erfolg mit DCECommand"else:  print "Kein Erfolg mit DCECommand"deviceToId = 10 # Media plugindeviceGroupToId = 0 # no specific device group.messageId = 43 # MH_Play_File (see Advanced / DCE / Commands for more)messagePriority = 1 # PRIORITY_LOW=0, PRIORITY_NORMAL=1, PRIORITY_HIGH=2, PRIORITY_URGENT=3messageType = 1      # MESSAGETYPE_COMMAND=1, MESSAGETYPE_EVENT=2, MESSAGETYPE_DATAPARM_CHANGE=3, MESSAGETYPE_REPLY=4, MESSAGETYPE_DATAPARM_REQUEST=5, MESSAGETYPE_LOG=6, MESSAGETYPE_SYSCOMMAND=7, MESSAGETYPE_REGISTER_INTERCEPTOR=8, MESSAGETYPE_MESSAGE_INTERCEPTED=9, MESSAGETYPE_EXEC_COMMAND_GROUP=10, MESSAGETYPE_START_PING=11, MESSAGETYPE_STOP_PING=12, MESSAGETYPE_PURGE_INTERCEPTORS=13, MESSAGETYPE_PENDING_TASKS=14deviceCategoryTo = 0 # no specific categorydeviceTemplateTo = 0 # no specific templateincludeChildren = 0 # we don't care about childrenmessageBroadcastLevel = 0 # BL_None=0, BL_DirectSiblings=1, BL_SameComputer=2, BL_SameRoom=3, BL_SameHouse=4, BL_AllHouses=5messageRetry = 0 # MR_None=0, MR_Retry=1, MR_Persist=2relativeToSender = 0 # not relative to senderexpectedResponse = 0 # delivery confirmationdeviceListTo = "" # no specific list of devices to send stuff to.blobheader = pack("9LBLLBL0s",magicNumber, deviceFromId, deviceToId, deviceGroupToId, messageId, messagePriority, messageType, deviceCategoryTo, deviceTemplateTo, includeChildren, messageBroadcastLevel, messageRetry, relativeToSender, expectedResponse, deviceListTo)# SendHeader(blob,dcerouter)    parameter1ID = 13 # filenameparameter1Content = "/home/public/data/samples/security/security.mpg"parameter2ID = 45 # Entertainment Areaparameter2Content = "2"blobbody = pack("LL"+str(len(parameter1Content))+"sL1sL",2,parameter1ID,parameter1Content,parameter2ID,parameter2Content,0)#SendBody(blob,dcerouter)blobfooter = pack("L",6789)#SendFooter(blob,dcerouter)blobsize = len(blobheader)+len(blobbody)+len(blobfooter)print "blobsize mit drei mal calcsize"print blobsizebigblob = blobheader+blobbody+blobfooterprint "blobsize mit bigblob"print len(bigblob)bigblob = "78 10 1 43 13 \"/home/public/data/samples/security/security.mpg\"  45 2"delimiter = " "bigblob = delimiter.join(sys.argv[1:])SendBigBlob(bigblob,dcerouter)print "big blob:"print bigblob