• 大小: 2.69MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-13
  • 语言: 其他
  • 标签: socket编程  

资源简介

计算机网络socket编程实验:一个服务器端和一个客户端之间发送文件

资源截图

代码片段和文件信息

#include       
#include  
#include 
#include 
#include       
#include       
  
int main(void)      
{      
    FILE* file=NULL;//定义文件指针   
    WSADATA wd; //这个结构被用来存储 被WSAStartup函数调用后返回的 Windows Sockets数据          
    SOCKET cSocket; //定义套接字    
    SOCKADDR_IN sa;  
    u_short port=5000;  //定义端口号      
    char buffer[1024*32];//缓冲区  
int ret=0; 
    int len=0;        
    DWORD fileSize=0;   
    
char filename[50];
printf(“请输入要传输的文件路径:“);
while(scanf(“%s“&filename))
{
if((_access(filename0))==-1)
{
printf(“文件路径不存在,请重新输入正确的文件路径:“);
}
else break;
}

    if(WSAStartup(MAKEWORD(22)&wd)!=0)//返回值不等与0说明初始化WASDATA失败   
        printf(“Socket2.2初始化失败!\n“);      
       
    if((cSocket=socket(AF_INETSOCK_STREAMIPPROTO_TCP))==INVALID_SOCKET) //创建socket  
    {      
        printf(“Socket 创建失败!“);      
        WSACleanup();   
Sleep(3000);
        return 0;      
    }      
    
char ip_addr[50];
printf(“请输入要发送文件的目的IP地址:“);
scanf(“%s“&ip_addr);
    memset(&sa 0 sizeof(sa));    //内存空间,初始化为0    
    sa.sin_family=AF_INET;         //代表网络地址族,设置地址类型为internetwork  
    sa.sin_port=htons(port);       //htons()将short型数据转换为网络字节类型
    sa.sin_addr.S_un.S_addr=inet_addr(ip_addr);    //设置IP地址为127.0.0.1即本地机地址  
 
    if ((ret=connect(cSocket(struct sockaddr*)&sasizeof(sa)))==SOCKET_ERROR) //调用connect,与客户端连接     
    {      
printf(“connect error:%d\n“WSAGetLastError());        
        WSACleanup();      
Sleep(3000);
        return 0;      
    }    

    file=fopen(filename“rb“);//以二进制的形式读文件,返回指向该流的文件指针   
    fileSize=GetFileSize(fileNULL);//返回文件长度
    memset(buffer0 sizeof(buffer)); //将buffer清0     
    while( !feof( file ) ) //feof()检测流上的文件结束符
    {   
        len = fread( buffer 11024*32 file ); //从file流中读取数据放到buffer中  
        send( cSocket buffer len 0 );  //调用send()将buffer中的数据发送到
    }
printf(“已向服务器发送文件!\n输入任意键结束程序!\n“ );
getchar();   
    fclose(file); 
getchar();
    if ((closesocket(cSocket))==SOCKET_ERROR) //关闭套接字 
        printf(“%d\n“WSAGetLastError());   
    WSACleanup();      
  
    return 0;   
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      32256  2012-12-15 15:25  计算机网络socket编程\Debug\client.exe

     文件      33280  2012-12-15 17:03  计算机网络socket编程\Debug\serve.exe

     文件         15  2012-12-15 15:27  计算机网络socket编程\Debug\Tulips.txt

     文件     357112  2012-12-15 17:03  计算机网络socket编程\Debug\计算机网络socket编程.ilk

     文件     486400  2012-12-15 17:03  计算机网络socket编程\Debug\计算机网络socket编程.pdb

     文件       2484  2012-12-15 17:25  计算机网络socket编程\计算机网络socket编程\client.cpp

     文件      13332  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\BuildLog.htm

     文件       1979  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\client.obj

     文件         65  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\mt.dep

     文件      32719  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\serve.obj

     文件     338944  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\vc90.idb

     文件     102400  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\vc90.pdb

     文件        663  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\计算机网络socket编程.exe.embed.manifest

     文件        728  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\计算机网络socket编程.exe.embed.manifest.res

     文件        621  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug\计算机网络socket编程.exe.intermediate.manifest

     文件       5192  2012-12-15 17:08  计算机网络socket编程\计算机网络socket编程\serve.cpp

     文件          0  2012-12-15 16:56  计算机网络socket编程\计算机网络socket编程\Tulips.jpg

     文件       4046  2012-12-11 20:32  计算机网络socket编程\计算机网络socket编程\计算机网络socket编程.vcproj

     文件       1411  2013-03-24 18:43  计算机网络socket编程\计算机网络socket编程\计算机网络socket编程.vcproj.acer-PC.acer.user

     文件   15887360  2013-03-24 18:43  计算机网络socket编程\计算机网络socket编程.ncb

     文件        947  2012-12-09 20:24  计算机网络socket编程\计算机网络socket编程.sln

    ..A..H.     34304  2013-03-24 18:43  计算机网络socket编程\计算机网络socket编程.suo

     目录          0  2012-12-15 17:03  计算机网络socket编程\计算机网络socket编程\Debug

     目录          0  2012-12-15 17:24  计算机网络socket编程\Debug

     目录          0  2012-12-15 17:25  计算机网络socket编程\计算机网络socket编程

     目录          0  2012-12-15 15:48  计算机网络socket编程

----------- ---------  ---------- -----  ----

             17336258                    26


评论

共有 条评论