버클리 소켓 API를 사용하여 C에서 간단한 SNTP 클라이언트를 만들려고하지만 응답 메시지에서 조정 된 시간을 계산하는 데 문제가 있습니다. 나는 RFC2030에서 이것을 얻었다. 서버의 응답이 수신되면 클라이언트는 NTP 타임 스탬프 형식의 시계에있어서 도달 시간과 같은 대상 소인 변수를 결정한다. 다음 표는 4 개의 타임 스탬프를 요약 한 것입니다.
나는 간단한 FTP 클라이언트를 만들어 bsd 소켓에있는 파일 목록을 얻으려고합니다. 여기에 있습니다 : connectTo(int client_socket,
struct sockaddr_in* addr,
char* ipv4Address,
char* user,
char* password,
지금까지는 비 차단 채팅 서버를 작성했지만 서버는 정상적으로 작동하지만 부분 전송이 발생하면이를 해결하는 방법을 알 수 없습니다. send (int, char *, int); 함수는 항상 성공시 0을 반환하고 실패한 경우에는 -1을 반환합니다. 필자가 읽은 모든 doc/man 페이지는 실제로 네트워크 버퍼에 공급되는 바이트 수를 반환해야한다고 말합니다. 나
포트에서 수신 대기하는 작은 TCP 서버가 있습니다. 디버깅하는 동안 서버를 CTRL-C로 눌러 프로세스를 종료하는 것이 일반적입니다. Windows에서 서비스를 신속하게 다시 시작할 수 있으며 소켓을 리바운드 할 수 있습니다. 리눅스에서는 bind()가 성공으로 돌아 오기 전에 몇 분을 기다려야한다. bind()가 실패하면 errno = 98, addre
버클리 소켓을 사용하여 C++로 작성한 웹 HTTP/1.1 서버 구현이 있습니다. 요청 및 응답 멀티플렉싱을 허용하는 HTTP/2.0 (또는 SPDY)에 대한 지원을 구현하고 있습니다. HTTP/2.0의 이진 프레이밍 레이어는 클라이언트와 서버가 전체 요청 및 응답 멀티플렉싱을 가능하게하여 HTTP 메시지를 독립적 인 프레임으로 다운시킨 다음 인터리빙 한
string이 canonical name 또는 IP address 인 경우 어떻게 알 수 있습니까? argv[1]가 IP address 경우 내가 할 때문에 : sscanf(argv[2],"%" SCNu16,&server_port);
inet_aton(argv[1],&server_address);
remote_address.sin_family = AF
다음과 같은 방법으로 버클리 소켓 선택 기능을 사용하고 있습니다. /*Windows and linux typedefs/aliases/includes are made here with wsa
junk already taken care of.*/
/**Check if a socket can receive data without waiting.
\para
일부 programm의 포트 번호를 생성해야합니다. Google은 제로 포트 생성과 바인딩하면 사용되지 않는 포트를 바인딩합니다. 제로 포트를 바인딩하고 포트 번호를 기억하고 싶습니다. 이걸하려고? 하지만 netstat 내 programm 포트를 볼 수 없습니다. 내가 다른 오류가 표시되지 않는,보다 bind(sfd, (struct sockaddr *) &