作者:追求生活的垃圾筒 | 来源:互联网 | 2023-08-25 09:25
两种网络编程API套接口(sockets),有时称为“Berkeley套接口”,因为它源自BerkeleyUnix。XTI(XOpen传输接口),它是对AT&T开发的传输层接口(T
两种网络编程API
套接口(sockets),有时称为“Berkeley套接口”,因为它源自Berkeley Unix。 XTI(X/Open传输接口),它是对AT&T开发的传输层接口(TLI)经少量修改的产物。 大多数的网络应用系统包括两部分:客户(client)与服务器(server),两者是通过通信链接的,其中又涉及到了网络通信协议,TCP/IP协议族(又称网际协议族 ) 在实际生活中,客户与服务器无需处于一个局域网内通信,也可以通过路由器(router,广域网的架构设备)作为传输节点,进行局域网转接到广域网中去。最大的广域网是因特网。
include "unp.h" int main(int argc.char * *argv) { int sockfd.n; char recvline[MAXLINE+1]; struct sockadd_in servaddr; if (argc ! = 2) err-quit("usage: a.out" ); if ( (sockfd= socket(AF_INET,SOCK_STREAM,0)<0) err-sys("socket error" ); bzero(&servadd,sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(13); if (inet_pton(AF_INET.argv[1],&servaddr,sin-addr)<=0) err_quit("inet_pton error for %s",argv[1]; if(connect(sockfd,(SA * )&servaddr,sizeof(servaddr))<0) err_sys("connect error"); while ( (n = read(sockfd,recvline,MAXLINE))>0){ recvline[n]=0; if(fputs(recvline,stdout) == EOF) err_sys("fputs error" ); } if(n<0) err_sys("read error" ); exit(0); }