位元組序轉換;
看乙個完整示例
#include #include #include #include #include #include void error_handling(char *message);
int main(int argc, char *ar**)
serv_sock=socket(pf_inet, sock_stream, 0);
if(serv_sock == -1)
error_handling("socket() error");
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family=af_inet;
serv_addr.sin_addr.s_addr=htonl(inaddr_any);
serv_addr.sin_port=htons(atoi(ar**[1]));
if(bind(serv_sock, (struct sockaddr*) &serv_addr, sizeof(serv_addr))==-1 )
error_handling("bind() error");
if(listen(serv_sock, 5)==-1)
error_handling("listen() error");
clnt_addr_size=sizeof(clnt_addr);
clnt_sock=accept(serv_sock, (struct sockaddr*)&clnt_addr,&clnt_addr_size);
if(clnt_sock==-1)
error_handling("accept() error");
write(clnt_sock, message, sizeof(message));
close(clnt_sock);
close(serv_sock);
return 0;
}void error_handling(char *message)
#include #include #include #include #include #include void error_handling(char *message);
int main(int argc, char* ar**)
sock=socket(pf_inet, sock_stream, 0);
if(sock == -1)
error_handling("socket() error");
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family=af_inet;
serv_addr.sin_addr.s_addr=inet_addr(ar**[1]);
serv_addr.sin_port=htons(atoi(ar**[2]));
if(connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr))==-1)
error_handling("connect() error!");
str_len=read(sock, message, sizeof(message)-1);
if(str_len==-1)
error_handling("read() error!");
printf("message from server: %s \n", message);
close(sock);
return 0;
}void error_handling(char *message)
三 位址族與資料序列
ip是為收發網路資料而分配給計算機的值。埠號是為區分程式中建立的套接字而分配給套接字的序號。int serv sock struct sockaddr in serv addr char serv port 9190 建立伺服器端套接字 監聽套接字 serv sock socket pf inet,...
第三章 位址族與資料序列
tcp ip網路程式設計 尹聖雨 p36 p45 1分配給套接字的ip位址與埠號 ip 是為收發網路資料而分配給計算機的值。埠號是為區分程式中建立的套接字而分配給套接字的序號。ip位址分為2類 ipv4和ipv6,主要差別是表示ip位址所用的位元組數。ipv4標準的4位元組ip位址分為網路位址和主機...
socket位址族 協議族
1.什麼是unix域套接字 unix域協議並不是乙個實際的協議族,而是在單個主機上執行客戶 服務通訊的一種方式。是程序間通訊 ipc 的一種方式。它提供了兩類套接字 位元組流套接字 有點像tcp 和資料報套接字 有點像udp unix域資料報服務是可靠的,不會丟失訊息,也不會傳遞出錯。ip協議標識客...