udp sendto 예제

예외는 응용 프로그램 계층 프로토콜이 명시적으로 다른 포트에서 시작하도록 요청하거나 허용하는 경우입니다(예: TFTP의 경우와 같이). 엑셀런트 예, 대단히 감사합니다! 나는 단지 작은 추가가 필요하다는 것을 발견했습니다. 서버에서 버퍼를 정리합니다. 따라서 서버에 추가하기만 하면 전송 주소가 소켓 주소 구조에 정의됩니다. 소켓은 다양한 유형의 통신 인터페이스와 함께 작동하도록 설계되었기 때문에 인터페이스는 매우 일반적입니다. 포트 번호를 매개 변수로 받아들이는 대신 사용 중이던 주소 패밀리(네트워크 유형)에서 실제 형식이 결정되는 sockaddr 구조를 사용합니다. 예를 들어 UNIX 도메인 소켓을 사용하는 경우 실제로 파일 시스템에서 파일을 만듭니다. sendto에서 반환되는 값은 전송된 바이트 수 또는 오류가 있는 경우 -1입니다. UDP 데이터그램은 원자적으로 전송되므로 TCP 소켓에 쓸 때와 달리 부분적으로 전송된 데이터를 처리하기 위해 함수 호출을 루프에서 래핑할 필요가 없습니다.

서버는 sendto에서 해당 주소를 사용하고 받는 사람의 주소로 메시지를 다시 보낼 수 있습니다. 데이터그램은 파일 설명자에게 쓸 수 있는 모든 기능을 사용하여 전송할 수 있지만, 소켓을 특정 원격 주소(아래에 설명된 대로)에 연결하지 않는 한 대상 주소가 될 수 있도록 sendto 또는 sendmsg를 사용해야 합니다. 지정. 이러한 sendmsg의 더 유연한 옵션이지만, 기호에 더 복잡한 인터페이스의 비용입니다. 각 기능에 대한 자세한 내용은 다음과 같습니다. 저는 프로그래머가 아니지만 전자 제품 및 자동화 된 물건을 만드는 데 매우 관심이 있습니다. 이것은 UDP 소켓 통신의 매우 유용한 예입니다. 내가 찾은 것은 프로그램이 데이터를 기다리는 동안 다른 작업을 수행하지 않는다는 것입니다. 이 서버를 «깜박임 Led 1″으로 보내고 명령을 계속 듣고 LED를 켜거나 깜박이거나 끄라고 말하는 것이 좋습니다. 나는 예를 들어 하나의 프로젝트에서 LED 아무 런치를 깜박 일 수 있습니다, 나는 또한 파이에서 실행하고 내가 지금 보내는 명령에 응답 코드를 얻을 수 있지만 백그라운드에서 일을 계속할 수 싶습니다. sendto를 호출하려면 데이터 그램의 내용과 전송해야 할 원격 주소를 제공해야합니다 : 문자를 보낸 경우, 일부 파일, 예제 그림, 전송 된 그림으로 전송 된 스크립트 문자를 변경하는 방법을 어떻게 보내야합니까..? 이 예제는 포트를 0으로 설정하여 사용 가능한 포트 번호를 선택하도록 운영 체제에 요청합니다. 특정 포트 번호를 사용하려면 줄을 변경 소켓에 대한 논의에서 TCP/IP 프로토콜을 사용하는 소켓과 연결 지향 소켓을 사용한 프로그래밍 예제를 다루었습니다.

여기서는 UDP/IP를 통해 연결없는 소켓을 사용하는 예제를 간략하게 살펴보겠습니다. 예를 들어 google.com 주소를 찾으려고 한다고 가정합니다. 코드는 다음과 같습니다 : TCP 소켓을 사용하면 통신하기 전에 연결을 설정해야했습니다.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies