ProcessExpression[dataByteArray_,sourceSocket_]:=Module[{dataString,jsonWrite},If[!ByteArrayQ[dataByteArray],Print["ByteArray Error"];];expressionString=ByteArrayToString@dataByteArray;eval=ToExpression[expressionString];If[MemberQ[eval["Properties"],"Path"],result=ToString[eval["Path"][[;;Min[10,eval["PathLength"]]]]],result=ToString[eval]];Print["eval:",eval];Print["result:",result];jsonWrite=Developer`WriteRawJSONString[<|"Output"->result|>,"ConversionRules"->{_Missing|None->Null},"Compact"->True];BinaryWrite[sourceSocket,StringToByteArray[jsonWrite]];Print["StringToByteArray[jsonWrite]:",StringToByteArray[jsonWrite]];]socket=SocketOpen[9000,"ZMQ_PAIR"]SocketListen[socket,ProcessExpression[#DataByteArray,#SourceSocket]&,HandlerFunctionsKeys->{"DataByteArray","SourceSocket"}]