win32 TCP网络文件传输服务器端1.23
2013-01-21 15:29
423 查看
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
#pragmacomment(lib,"ws2_32.lib")
#definePORT6666
#defineIPADDR"127.0.0.1"
#defineBACKLOG20
intmain(void)
{
WSADATAwsadata;
WSAStartup(MAKEWORD(2,0),&wsadata);
SOCKETsock_trans=socket(AF_INET,SOCK_STREAM,0);
if(sock_trans<0)
{
perror("socket");
exit(1);
}
SOCKADDR_INsaddr;
saddr.sin_family=AF_INET;
saddr.sin_port=htons(PORT);
saddr.sin_addr.S_un.S_addr=inet_addr(IPADDR);
intsadlen=sizeof(saddr);
FILE*fp=NULL;
fp=fopen("e://test.txt","w+");
if(fp==NULL)
{
perror("openfile:");
exit(4);
}
if(bind(sock_trans,(SOCKADDR*)(&saddr),sadlen)==SOCKET_ERROR)
{
perror("bind:");
exit(2);
}
elseprintf("bindportok!\n");
//intvlisten=50;
if(listen(sock_trans,20)==SOCKET_ERROR)
{
perror("listen");
exit(3);
}
else
printf("nowlistenning.....\n");
//printf("%d",listen(sock_trans,20));
intsaddrlen=sizeof(saddr);
SOCKETnewsock=accept(sock_trans,(SOCKADDR*)&saddr,&saddrlen);
printf("catchfilenow....");
charbuf[1024]={0};
ZeroMemory(buf,1024);
intrelen=0;
//测试程序的酱油语句,无视之。
//recv(newsock,buf,50,0);
//printf("%s",buf);
//printf("\nifputthisline,theprogramiserror!");
Sleep(3000);
while(1)
{
relen=recv(newsock,buf,1024,0);
fwrite(buf,1,relen,fp);
printf("接受了一次!\n");
fflush(fp);
//ZeroMemory(buf,50);
if(relen==0)
{
break;
}
printf("接受了%d次!\n",relen);
}
fclose(fp);
closesocket(newsock);
closesocket(sock_trans);
WSACleanup();
system("pause")
return0;
}
相关文章推荐
- win32 TCP网络文件传输服务器端1.23
- win32 TCP网络文件传输服务器端1.23
- win32 tcp文件传输并发服务器
- win32 tcp文件传输并发服务器
- win32 tcp文件传输并发服务器
- 网络编程 基于TCP的多文件传输程序(二)
- C# TcpClient网络编程传输文件(带文件名)(必须看)
- 基于TCP网络通信的自动升级程序源码分析-服务器发送文件
- 计算机网络教程-应用层(七)客户-服务器模式、套接字、使用传输层的服务(tcp、udp)
- linux 网络编程 Tcp文件服务器
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
- 基于TCP网络通信的自动升级程序源码分析-服务器发送文件
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
- tcp网络传输服务器 listener
- 【tcp网络编程】TCP上传文件到服务器
- 【C/C++学院】(29)网络编程--实现跨平台传输文件(TCP版)
- java tcp 网络通信--使用多线程传输文件
- TCP文件传输MFC服务器篇 4000
- Linux网络编程之使用TCP传输文件
- (TCP模式)客户端与服务器之间的文件传输