用TCP/TP进行网际互连(3)
———— 利用tcp完成文件传输的设计和实现
1、要求介绍
利用循环面向连接的模型完成固定文件的传输
由固定文件扩展成手动输入或选择文件
——废话少说,直接上代码——
2、实现代码
- 服务器:
(1.初始化服务器端的socket:)
int sockfd,connfd;
struct sockaddr_in svraddr,clientaddr;
bzero(&svraddr,sizeof(svraddr));
svraddr.sin_family=AF_INET;
svraddr.sin_addr.s_addr=htonl(INADDR_ANY);
svraddr.sin_port=htons(PORT);
sockfd=socket(AF_INET,SOCK_STREAM,0);
(2.进行绑定:)
if(bind(sockfd,(struct sockaddr*)&svraddr,sizeof(svraddr))<0)
{
perror("bind");
exit(1);
}
(3.变为被动模式,进行监听)
//listen
if(listen(sockfd,LISTENQ)<0)
{
perror("listen");
exit(1);
}
(4.循环等待实现文件的传输)
while(1)
{
socklen_t length=sizeof(clientaddr);
//accept
connfd=accept(sockfd,(struct sockaddr*)&clientaddr,&length);
if(connfd<0)
{
perror("connect");
<