escreva isso no lado do cliente. observe o "raw" .
socat unix-connect:socket -,raw,echo=0
ou isso no lado do servidor . observe o "echo = 0"
socat unix-listen:socket exec:"python",pty,echo=0
mas não ambos. alternativamente bruto no stdio do cliente com echo = 0 no servidor pty é bom, mas echo = 0 não deve ser aplicado duas vezes.
vamos olhar os dois 1 + 1s. são ecos, mas com significados diferentes. o primeiro eco é do buffer de linha do terminal do cliente, e o segundo é do terminal no lado do servidor criado pelo socat.
>>> 1 + 1;
1 + 1;
2
uso de echo = 0 sozinho no cliente stdio, socat informa seu terminal de controle (ou seja, xterm ou qualquer coisa assim) para desabilitar o eco (exibição na tela) do buffer stdio, assim o primeiro 1 + 1 desaparece, e o o segundo mostrará no mesmo lugar quando a tecla de retorno for pressionada. echo = 0 na pty do servidor impede que a socat ecoe (ping-pong) a entrada que recebe de volta ao cliente, assim o segundo 1 + 1 desaparece. com raw no cliente, o buffer do stdio é desabilitado para que cada chave não espere até que um retorno seja enviado para o servidor, e o servidor ecoa a chave de volta imediatamente . use raw no stdio do cliente juntamente com echo = 0 no stdio do cliente quando uma tecla é pressionada é enviada primeiro para o servidor, em seguida, o servidor a envia de volta e é exibido no cliente. use raw no stdio do cliente junto com echo = 0 no servidor pty quando uma tecla é pressionada é exibida simultaneamente como é enviada para o servidor, mas nunca é enviada de volta.
para edição de linha de comando, às vezes é suficiente para armazenar em buffer uma linha no lado do cliente e não enviar uma linha inteira até terminarmos de editar essa linha. no entanto, se uma conclusão inteligente e poderosa for desejada, o envolvimento do lado do servidor será necessário.