창에서 sys/socket.h 기능 사용
윈도우 내 socket.h 기능을 활용하려고 합니다.기본적으로 현재 https://beej.us/guide/bgnet/html/multi/clientserver.html#datagram 에서 샘플 코드를 보고 있습니다.socket.h가 유닉스 함수라는 것을 알고 있습니다 -- 이 샘플 코드를 컴파일하는 동안 해당 환경을 쉽게 에뮬레이트할 수 있는 방법이 없을까요?다른 IDE/Compiler가 변경되는 사항이 있습니까?
그렇지 않으면 가상화된 Linux 환경을 활용해야 할 것으로 생각됩니다. 코드가 UNIX 환경에서 실행될 가능성이 높기 때문에 어쨌든 최선일 수 있습니다.
감사해요.
두 가지 옵션이 있습니다.
Cygwin: 유닉스 소스를 대부분 그대로 컴파일할 수 있지만 Cygwin 에뮬레이션 라이브러리에 연결할 수 있습니다.이것은 두 가지 의미를 갖는데, 네트워크뿐만 아니라 일반적인 성능도 아마도 최적보다 낮을 것입니다. 그리고 대상 환경에 Cygwin DLL이 (실행 시간에) 설치되어 있어야 합니다.
Winsock: 교체해야 합니다.sys/socket.h
(BSD 소켓 라이브러리, TCP/IP 스택용 UNIX 표준):winsock2.h
, 코드의 일부를 다시 쓰는 거죠. 많지는 않지만 일부는요.
유용한 정보와 함께 몇 가지 관련 질문:
Cygwin[Windows의 Linux]에 대한 몇 가지 문제(소켓, 스레드, 기타 프로그래밍 및 셸 문제)
윈스톡 도서관을 찾으시는 것 같습니다.
BSD 표준이 제공하는 플랫폼 간 네트워크 응용 프로그램을 작성하는 것은 쉽지 않습니다.물론 효과는 있겠지만 필요하다면 ioctl을 ioctl 소켓(창문)으로 교체하는 것과 같은 몇 가지 교체를 해야 할 것입니다.다른 점이 더 많습니다.
이런 추한 차이를 감추고 통일된 의사소통 방식을 제공하는 도서관을 이용하라는 게 제 조언입니다.저는 개인적으로 ACE를 씁니다.서버와 클라이언트를 만드는 방법을 보여주는 많은 예가 있습니다.샘플을 복사해서 거기서 어떻게 하는지 확인해보세요.메일 목록도 큰 도움이 됩니다(PRF를 사용하는 것을 잊지 마십시오). 문제 보고서 양식은 원본 트리를 참조하십시오.당신은 더 많은 정보를 얻기 위해 그 책들을 빌릴 수 있습니다.참고 사항: ACE를 사용하면 소켓, setsockopt, ioctl 등의 ACE 포장지 기능을 사용할 수 있으므로 작동하지 않을 것을 걱정하지 않아도 됩니다.불행히도 이것은 항상 선택사항은 아닌 라이브러리 종속성을 추가합니다.하지만 ACE는 더 강력한 기능을 가지고 있기 때문에 여러분이 발견하면 좋아할 것입니다.힌트: 리액터, 프록터.
언급URL : https://stackoverflow.com/questions/2952733/using-sys-socket-h-functions-on-windows
'source' 카테고리의 다른 글
자바스크립트 / jQuery:윈도우에 포커스가 있는지 테스트 (0) | 2023.10.09 |
---|---|
xml에서 CDATA end 토큰을 피할 수 있는 방법이 있습니까? (0) | 2023.10.09 |
SQL Server 2008 GUI에 고유한 제약 조건을 추가하시겠습니까? (0) | 2023.10.09 |
정규 표현식에서 (?s)의 의미 (0) | 2023.10.09 |
PowerShell FTP 서버에 연결하여 파일 가져오기 (0) | 2023.10.09 |