나는 UDP protcol 구현을위한 코드를 작성하는데,이 파일을 1024 바이트의 청크로 분할해야합니다. 그런 다음 각 패킷의 체크섬을 계산하고 시퀀스 번호를 입력하여 헤더 정보로 추가 한 다음 패킷을 수신기로 보냅니다. 나는 파일을 청크로 만들고 체크섬을 계산하는 것을 안다. 하지만 헤더 정보와 데이터 패킷을 연결하려면 memcat을 사용해야합니까? 누구든지 C에서 어떻게 할 수 있습니까?C에서 UDP를 기반으로하는 소켓 프로그래밍
-1
A
답변
0
파일에서 1024 바이트 청크 파일을로드 할 때 약간 더 큰 버퍼/어레이 (예 : char[1024+4+4]
, 즉 1032 바이트)로로드하십시오. 그런 다음 버퍼에 8 바이트의 여분의 공간을 확보하여 버퍼를 보내기 전에 시퀀스 번호와 체크섬을 쓸 수 있습니다.
1024 바이트의 데이터 다음에 시퀀스 번호와 체크섬을 쓰거나 버퍼의 시작 후 8 바이트 위치의 데이터에 fread()
을 메모 리 위치에 쓴 다음 맨 위에 시퀀스 번호와 체크섬을 쓸 수 있습니다 버퍼 (즉, 방금로드 된 데이터가 시작되기 전의 공간). 두 가지 방법 모두 조금 더 생각하기 쉽지만 어느 쪽이든 괜찮습니다 (송신자와 수신자가 레이아웃에 동의하는 한).
관련 문제
- 1. 직렬화 C에서 소켓 프로그래밍 ++
- 2. C에서 바이트로 변환하지 않고 udp를 사용하여 소켓 데이터를 보내는 방법 #
- 3. C에서 소켓 프로그래밍 (클라이언트 서버 예제)
- 4. 소켓 프로그래밍 addrinfo 구조체
- 5. 클라이언트 - 소켓 소켓 프로그래밍
- 6. 소켓 프로그래밍 파이썬 동기화
- 7. Windows 최저 수준의 소켓 프로그래밍?
- 8. 소켓 프로그래밍 프로그래밍
- 9. 메시지를 기반으로하는 안드로이드 프로그래밍
- 10. C에서 UDP를 사용하는 서버 클라이언트 파일 전송
- 11. 소켓 프로그래밍
- 12. 소켓 프로그래밍
- 13. 소켓 프로그래밍
- 14. 소켓 프로그래밍
- 15. 소켓 프로그래밍
- 16. 소켓 프로그래밍
- 17. C++ 네트워크/소켓 프로그래밍
- 18. 소켓 프로그래밍 c - 파일 다운로드
- 19. 자바 소켓 소켓 프로그래밍 오류
- 20. 소켓 프로그래밍 PF 패킷 소켓
- 21. UDP 클라이언트 용 Windows C 소켓 프로그래밍
- 22. C에서 소켓 프로그래밍을위한 ioctl()
- 23. TCP 소켓 C에서 읽기
- 24. 소켓 : JAVA로 C에서
- 25. fork() func을 사용하여 C에서 프로세스를 대몬 화하는 방법. - 소켓 프로그래밍
- 26. 서버가 if 문에 들어가지 않습니다. 구조체입니다. C에서 소켓 프로그래밍
- 27. 타이머를 사용한 소켓 프로그래밍
- 28. Java에서 스레드를 사용하는 소켓 프로그래밍
- 29. 우리는 어떻게 네트워크를 통해 UDP를 통해 데이터 패킷을 수신하고 전송할 수 있습니까? (소켓 프로그래밍) iPhone xcode
- 30. Netbeans를 기반으로하는 간단한 클라이언트/서버 소켓
조금 더 자세한 정보를 제공 할 수 있습니까? 너 지금까지 한 짓처럼? 어떤 것이 있으면 코드를 넣는 것이 더 낫다. – MaMadLord
'sendmsg'를 사용하여 복사를 피하기 위해 별도의 버퍼에서 헤더와 패킷 데이터를 수집 할 수있다. –