千家信息网

Unix Socket 编程:TCP服务端

发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,#include #include #include #include #include #include int main(int argc,char * argv[]){int serv_sock
千家信息网最后更新 2024年11月13日Unix Socket 编程:TCP服务端


#include

#include

#include

#include

#include

#include

int main(int argc,char * argv[])

{

int serv_sock,clnt_sock;

char msg[] = "Hello SZT !~";

struct sockaddr_in serv_adr,clnt_adr;

socklen_t clnt_adr_sz;

if(argc != 2)

{

printf("运行时请输入端口号!~\n");

exit(1);

}

serv_sock = socket(PF_INET,SOCK_STREAM,0);

memset(&serv_adr,0,sizeof(serv_adr));

serv_adr.sin_family = AF_INET;

serv_adr.sin_addr.s_addr = htonl(INADDR_ANY);

serv_adr.sin_port = htons(atoi(argv[1]));

bind(serv_sock,(struct sockaddr *)&serv_adr,sizeof(serv_adr));

if(listen(serv_sock,5) != -1)

{

printf("listen();正在等待客户端连接,端口:%s\n",argv[1]);

}

clnt_adr_sz = sizeof(clnt_adr);

clnt_sock = accept(serv_sock,(struct sockaddr *)&serv_adr,&clnt_adr_sz);

if(clnt_sock != -1)

{

printf("accept();已经连接客户端\n");

}

write(clnt_sock,msg,sizeof(msg));

printf("write();已经发送数据:%s\n",msg);

close(clnt_sock);

close(serv_sock);

return 0;

}

0