안녕하십니까?
여러개의 데이터를 SendText 명령을 사용하여 연속적으로 보낼 경우 이 데이터가
각각의 Packet으로 전송되지 않고 합쳐지는 문제가 있습니다.
즉 다음 예와 같이 전송했을 경우 수신측에는 하나의 Packet 즉 뭉쳐서 쭉 나오는데,
이와 관련하여 같은 질문이 131번에 있으며, 그에 대한 방법이 나와 있는데,
전송할 데이터에 #13#10 추가는 단지 Display문제만 해결할 뿐 실제 TCP/IP Packet을
나누어서 전송하지는 못합니다.
예) for 1 := 1 to 10 do
ClientSocket.Socket.SendText('AAA');
일차적으로 위 SendText다음에 일정시간 Delay를 주면 Packet이 분리되어 해결이 되지
만, 좋은 방법이 아니기 때문에 정확한 방법이나 자료를 찾습니다.
잘 아시는분 부탁 합니다.
> 안녕하십니까?
> 여러개의 데이터를 SendText 명령을 사용하여 연속적으로 보낼 경우 이 데이터가
> 각각의 Packet으로 전송되지 않고 합쳐지는 문제가 있습니다.
> 즉 다음 예와 같이 전송했을 경우 수신측에는 하나의 Packet 즉 뭉쳐서 쭉 나오는데,
> 이와 관련하여 같은 질문이 131번에 있으며, 그에 대한 방법이 나와 있는데,
> 전송할 데이터에 #13#10 추가는 단지 Display문제만 해결할 뿐 실제 TCP/IP Packet을
> 나누어서 전송하지는 못합니다.
>
>
> 예) for 1 := 1 to 10 do
> ClientSocket.Socket.SendText('AAA');
>
>
> 일차적으로 위 SendText다음에 일정시간 Delay를 주면 Packet이 분리되어 해결이 되지
> 만, 좋은 방법이 아니기 때문에 정확한 방법이나 자료를 찾습니다.
> 잘 아시는분 부탁 합니다.
>
>
>
이런 질문을 많이 보았습니다만,
패킷을 전송할때, 루프에 넣는 방법은
안전한 전송을 보장하지 못합니다.
델파이의 소켓으로 non-blocking 모드를 사용하신다면,
한 패킷을 던지면 그에 상응하는 응답패킷을 받고
확인을 거친후 다음 패킷을 던지는 형태로
작업을 전환하시길 권해봅니다.
그럼, 즐거운 프로그래밍 되시길~