sgcWebSockets 4.5.4

· 릴리스

Rad Studio 

sgcWebSockets 4.5.4에 포함된 새 기능 및 버그 수정 전체 목록이에요:

[+] : TLSOptions.Version 속성을 개선했어요: 값이 tlsUndefined(기본값)인 경우 클라이언트가 가능한 모든 TLS 버전(TLS 1.3 ~ TLS 1.0) 협상을 시도해요. 이전에는 TLS 1.0이 선택됐어요.
[+] : Amazon AWS IoT 클라이언트를 개선했어요: 임시 보안 자격 증명 사용 시 채워야 하는 새로운 속성 SignatureV4.SessionToken이 추가됐어요.
[+] : HTTPUploadFiles를 개선했어요: 새로운 이벤트 OnHTTPUploadBeforeSaveFile과 OnHTTPUploadAfterSaveFile이 추가됐어요. 수신된 파일 이름을 알거나 수정할 수 있어요.
[+] : openSSL 설정을 개선했어요: openSSL_Options.LibPath = oslpCustomPath인 경우 openSSL 라이브러리 위치가 OpenSSL_Options.LibPathCustom 값으로 설정돼요. (제안해 주신 Matteo에게 감사드려요.)
[+] : openSSL 설정을 개선했어요: 새로운 속성 UnixSymLinks로 Unix에서 SymLinks 로딩을 비활성화할 수 있어요. macOS Monterey에서 "Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI." 오류를 수정해요.
[+] : openSSL 오류 메시지 "cannot load openssl"을 개선했어요: 이제 경로, 사용 불가 메서드, 버전을 표시해요. Enterprise 에디션에서만 사용 가능해요.
[+] : Socket.IO API를 개선했어요: 최신 API 4 지원을 추가했어요.
[+] : Cryptorobotics Send Signal 메서드 지원을 추가했어요.

[*] : 버그 수정 - Indy 서버: 일부 경우 절반 연결 해제된 HTTP 연결이 CPU를 100% 사용할 수 있던 문제를 수정했어요. (알려주신 Moacir에게 감사드려요.)
[*] : 버그 수정 - PerMessage_Deflate: Z_BUF_ERROR 메시지 처리 문제를 수정했어요.
[*] : 버그 수정 - PerMessage_Deflate: 빈 문자열 또는 메모리 스트림이 전송된 경우 오류가 발생하던 문제를 수정했어요.
[*] : 버그 수정 - PerMessage_Deflate: 압축/압축 해제 중 내부 오류 발생 시 오류 메시지가 예외에 전달되지 않던 문제를 수정했어요.
[*] : 버그 수정 - PerMessage_Deflate: 스트림 압축 해제 시 버퍼가 충분히 크지 않으면 스트림이 완전히 압축되지 않던 문제를 수정했어요.
[*] : 버그 수정 - TsgcWebSocketClient: 일반 TCP 프로토콜과 TLS 1.3을 사용할 때 연결이 몇 초 동안 스레드를 잠그던 문제를 수정했어요.
[*] : 버그 수정 - HTTPUploadFiles.RemoveBoundaries 속성이 활성화된 경우 구형 Delphi 버전에서 파일명이 추출되지 않던 문제를 수정했어요.
[*] : 버그 수정 - HTTPUploadFiles.RemoveBoundaries 속성이 활성화된 경우 파일명에 공백이 있으면 파일명이 완전히 추출되지 않던 문제를 수정했어요.
[*] : 버그 수정 - CBuilder에서 TsgcWebSocketClient_WinHTTP 컴파일 시 Wininet 유닛(HINTERNET, INTERNET_PORT)의 모호성 오류를 수정했어요.
[*] : 버그 수정 - MQTT 클라이언트: VarInteger 값 읽기/쓰기 문제를 수정했어요.
[*] : 버그 수정 - MQTT 클라이언트: PublishProperties로 메시지를 게시할 때 항상 TopicAlias = 1이 전송되던 문제를 수정했어요.

[/] : TsgcWebSocketClient.Active 속성이 이제 내부 연결이 할당되었는지 여부를 반환해요. 이전에는 TCP 클라이언트의 Connected 함수를 호출했어요.

.NET 

sgcWebSockets .NET 4.5.4에 포함된 새 기능 및 버그 수정 전체 목록이에요:

[+] : 지원을 추가했어요: MacOS 64bits.
[+] : 지원을 추가했어요: nuget packages.
[+] : TLSOptions.Version 속성을 개선했어요: 값이 tlsUndefined(기본값)인 경우 클라이언트가 가능한 모든 TLS 버전(TLS 1.3 ~ TLS 1.0) 협상을 시도해요. 이전에는 TLS 1.0이 선택됐어요.
[+] : HTTPUploadFiles를 개선했어요: 새로운 이벤트 OnHTTPUploadBeforeSaveFile과 OnHTTPUploadAfterSaveFile이 추가됐어요. 수신된 파일 이름을 알거나 수정할 수 있어요.
[+] : openSSL 설정을 개선했어요: openSSL_Options.LibPath = oslpCustomPath인 경우 openSSL 라이브러리 위치가 OpenSSL_Options.LibPathCustom 값으로 설정돼요. (제안해 주신 Matteo에게 감사드려요.)
[+] : openSSL 설정을 개선했어요: 새로운 속성 UnixSymLinks로 Unix에서 SymLinks 로딩을 비활성화할 수 있어요. macOS Monterey에서 "Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI." 오류를 수정해요.
[+] : openSSL을 개선했어요 error message "cannot load opensssl", now shows the path, methods not available and version.
[+] : Socket.IO API를 개선했어요: 최신 API 4 지원을 추가했어요.

[*] : 버그 수정 - Indy 서버: 일부 경우 절반 연결 해제된 HTTP 연결이 CPU를 100% 사용할 수 있던 문제를 수정했어요. (알려주신 Moacir에게 감사드려요.)
[*] : 버그 수정 - PerMessage_Deflate: Z_BUF_ERROR 메시지 처리 문제를 수정했어요.
[*] : 버그 수정 - PerMessage_Deflate: 빈 문자열 또는 메모리 스트림이 전송된 경우 오류가 발생하던 문제를 수정했어요.
[*] : 버그 수정 - PerMessage_Deflate: 압축/압축 해제 중 내부 오류 발생 시 오류 메시지가 예외에 전달되지 않던 문제를 수정했어요.
[*] : 버그 수정 - PerMessage_Deflate: 스트림 압축 해제 시 버퍼가 충분히 크지 않으면 스트림이 완전히 압축되지 않던 문제를 수정했어요.
[*] : 버그 수정 - TsgcWebSocketClient: 일반 TCP 프로토콜과 TLS 1.3을 사용할 때 연결이 몇 초 동안 스레드를 잠그던 문제를 수정했어요.
[*] : 버그 수정 - HTTPUploadFiles.RemoveBoundaries 속성이 활성화된 경우 구형 Delphi 버전에서 파일명이 추출되지 않던 문제를 수정했어요.
[*] : 버그 수정 - HTTPUploadFiles.RemoveBoundaries 속성이 활성화된 경우 파일명에 공백이 있으면 파일명이 완전히 추출되지 않던 문제를 수정했어요.
[*] : 버그 수정 - MQTT 클라이언트: VarInteger 값 읽기/쓰기 문제를 수정했어요.
[*] : 버그 수정 - MQTT 클라이언트: PublishProperties로 메시지를 게시할 때 항상 TopicAlias = 1이 전송되던 문제를 수정했어요.

[/] : TsgcWebSocketClient.Active 속성이 이제 내부 연결이 할당되었는지 여부를 반환해요. 이전에는 TCP 클라이언트의 Connected 함수를 호출했어요.