Доброго времени суток. Нужна помощь в наладке сокетного приложения.
При получении сообщения от клиента (plc) к серверу (pc) получаю это сообщение и часть прошлого сообщения

Например, если отправляю "OK", а получаю "OKate,791212,1000,982"

Также вот мой клиент
Код:
CASE eState OF


	CLIENT_STATE_CREATE: 	
		hClientSocket		:=	SysSockCreate(SOCKET_AF_INET, SOCKET_STREAM, SOCKET_IPPROTO_TCP);
		IF hClientSocket <> SOCKET_INVALID THEN
			eState := CLIENT_STATE_CONNECT;
		ELSE
			eState	:=	CLIENT_STATE_CLOSE;
		END_IF

	CLIENT_STATE_CONNECT:

		stClientSettings.sin_family	:=	SOCKET_AF_INET;		
		stClientSettings.sin_port		:=	wPort; 						
		dwIPaddr	:=	IP_DECODE(sIPv4);
		stClientSettings.sin_addr		:=	dwIPaddr;					
		SysSockConnect(hClientSocket, ADR(stClientSettings), SIZEOF(stClientSettings) );
		eState	:=	CLIENT_STATE_SENDING;
		

	CLIENT_STATE_SENDING:		
		IF SCREEN = 7  THEN
			IF check = 200 OR check = 1 THEN
				sSendToServer := CONCAT('insert,',DWORD_TO_STRING(number_filter));
				OLD_FILTER := number_filter;
				IF sReadFromServer = 'Ok / Insert' OR sReadFromServer = 'Ok / Update' THEN
					sSendToServer := CONCAT('update,',DWORD_TO_STRING(number_filter));
				END_IF
				sSendToServer := CONCAT(sSendToServer, ',');
				sSendToServer := CONCAT(sSendToServer, INT_TO_STRING(count_filter));
				sSendToServer := CONCAT(sSendToServer, ',');
				sSendToServer := CONCAT(sSendToServer, INT_TO_STRING(succses_filter));
			END_IF
		ELSE
			sSendToServer := 'OK';
		END_IF
		diSendBytes	:=	SysSockSend(hClientSocket, ADR(sSendToServer), LEN(sSendToServer), c_diFlag);
		IF diSendBytes <> SIZEOF(sSendToServer) THEN
			eState	:=	CLIENT_STATE_READ;
			fbTon(IN := FALSE);
		ELSE
			fbTon(IN := TRUE, PT := tSendServer);
			IF fbTon.Q THEN
				eState	:=	CLIENT_STATE_CLOSE;
				fbTon(IN := FALSE);
			END_IF
		END_IF

	CLIENT_STATE_READ: 		

		diRecvBytes	:=	SysSockRecv(hClientSocket, ADR(sReadFromServer), SIZEOF(sReadFromServer), c_diFlag);
		FIND('Close', sReadFromServer);
		IF IS_CC(sReadFromServer, 'Close') THEN
			%QW8.1.9.0 := 1;
		ELSE
			%QW8.1.9.0 := 0;
		END_IF
		IF diRecvBytes = SIZEOF(sReadFromServer) THEN	
			eState	:=	CLIENT_STATE_CLOSE;
			fbTon(IN := FALSE);
		ELSE
			fbTon(IN := TRUE, PT := tRecvServer);
			IF fbTon.Q THEN
				eState	:=	CLIENT_STATE_CLOSE;
				fbTon(IN := FALSE);
				
			END_IF
		END_IF

	CLIENT_STATE_CLOSE: 		

		SysSockShutdown(hClientSocket, c_diHow);		
		fbTon(IN := TRUE, PT := tSockClose);				
		IF fbTon.Q THEN
			SysSockClose(hClientSocket);
			eState	:=	CLIENT_STATE_CREATE;
			fbTon(IN := FALSE);
		END_IF

END_CASE