gean alexandre,
Eu estava com o mesmo problema no C#, mudei a codificação de UTF8 para ASCII e funcionou. Meu código ficou assim:
string strComandoACBR;
byte[] msg;
string strEnderecoIP = "127.0.0.1";
IPEndPoint ipEnd_cliente = new IPEndPoint(IPAddress.Parse(strEnderecoIP), 3434);
Socket clientSock_cliente = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
// conecta ao socket do ACBR Monitor
clientSock_cliente.Connect(ipEnd_cliente);
// mandar para impressora.
strComandoACBR = "NFE.ImprimirDANFE(" + '\u0022' + "c:\\31170604035296000137550010000040621000101686.xml" + '\u0022' + ")";
msg = Encoding.ASCII.GetBytes(strComandoACBR + Environment.NewLine + "." + Environment.NewLine);
clientSock_cliente.Send(msg, 0, msg.Length, 0);