Добрый день!
Появилась такая проблема. Обмен работает какое-то время, но потом перестает!
Посмотрел, все крутится в цикле: SERVER_STATE_CREATE - SERVER_STATE_BIND - SERVER_STATE_CLOSE
Вот код:
Код:
CASE eState OF

	SERVER_STATE_CREATE:
			hServerSocket	:=	SysSockCreate( SOCKET_AF_INET,  SOCKET_STREAM, SOCKET_IPPROTO_TCP );
			IF hServerSocket <> SOCKET_INVALID THEN
				SysSockSetOption(hServerSocket, SOCKET_SOL, c_diSoNbio, ADR(diOption), SIZEOF(diOption) );
				eState	:=	SERVER_STATE_BIND;
			ELSE
				eState	:=	SERVER_STATE_CLOSE;
			END_IF

	SERVER_STATE_BIND:
			stServerSettings.sin_family	:=	SOCKET_AF_INET;
			stServerSettings.sin_addr	:=	SysSockHtonl(SOCKET_INADDR_ANY);
			stServerSettings.sin_port	:=	SysSockHtons(wPort);
			xBinded				:=	SysSockBind(hServerSocket, ADR(stServerSettings), SIZEOF(stServerSettings) );
			IF xBinded THEN	eState	:=	SERVER_STATE_LISTEN;
			ELSE			eState	:=	SERVER_STATE_CLOSE;
			END_IF

	SERVER_STATE_LISTEN:
			xListened	:=	SysSockListen(hServerSocket, INT_TO_DINT(c_iMaxConnections) );
			IF xListened THEN	eState	:=	SERVER_STATE_ACCEPT;
			ELSE				eState	:=	SERVER_STATE_CLOSE;
			END_IF

	SERVER_STATE_CLOSE:
			SysSockShutdown(hServerSocket, c_diHow);
			SysSockClose(hServerSocket);
			hServerSocket	:= SOCKET_INVALID;
			eState		:= SERVER_STATE_CREATE;