3
데이터를 전송하는 데 tcp를 사용하고 있습니다. 서버 코드는 C로 작성되고 클라이언트 코드는 nodejs에 의해 작성됩니다. 하나의 버퍼를 보낼 때 클라이언트가이 버퍼의 두 부분을 수신하는 경우가 있지만 console.log 함수는 두 번 트리거되지만 때로는 제대로 작동합니다. 다음은 nodejs 코드 및 C 코드입니다. nodejs 번호 :C에서 수신 한 nodejs의 버퍼를 두 부분으로 나눕니다.
var client = new net.Socket();
client.on('data', function(data) {
console.log('data:', data)
});
C 코드 :
send(socket_file, buffer, strlen(buffer),0)
노드에서 스트림이 작동하는 방식입니다. 여러 개의 '데이터'이벤트 (여러 가지 다른 이벤트)를 트리거 할 수 있습니다. 서버가 보낸 전체 메시지를 어셈블해야하는 경우 내부 정리 작업을 수행해야 할 수 있습니다. – robertklep
@robertklep 고마워요! – fiona