• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: 其他
  • 标签: socket  文件传输  

资源简介

通过socket实现简单的文件传输.分别含有客户端和服务器的完整代码。

资源截图

代码片段和文件信息

#include 
#include 
#pragma comment(lib“ws2_32.lib“)

int main()
{
     //打开套接字 
    //wsa提供调用版本信息 
   WORD myVersionRequest;
    myVersionRequest = MAKEWORD(11);
    //接受数据结构指针 
    WSADATA wsaData;
    int err;
    err = WSAStartup(myVersionRequest&wsaData);
    if(!err) {
        printf(“已经打开套接字\n“);
    } 
    else {
        //进一步绑定套接字
        printf (“套接字未打开\n“);
        return 0; 
    }

/////////////////
//-----创建连接---------
SOCKET cliSocket = socket (AF_INET SOCK_STREAM0);

SOCKADDR_IN addr;
addr.sin_family = AF_INET;
//客户端与远地IP通信 
addr.sin_addr.S_un.S_addr = inet_addr(“127.0.0.1“);  //将IP地址转换成无网络字节格式。输入要连接的远地IP地址 
//绑定端口号
addr.sin_port = htons(6000);//服务器端口与客户端口相同 


//----------建立连接--------------- 
int ret = 0;
//int err = 0;
ret = connect(cliSocket (SOCKADDR *)&addr sizeof(addr)); //连接远地进程 
if(ret == SOCKET_ERROR) 
  return 0 ; 

//--------发送文件----------- 
int readsize;
FILE *fpin;
//打开文件
if((fpin = fopen(“E:\\编程\\feixun\\test.txt““r+b“)) == NULL) {
    printf(“打开数据文件错误\n“);
    return false;
}
 
//char *buf = “hello word!“;
char buf[100];
readsize = fread(buf1100fpin);
printf(“readsize = %d\n“ readsize); 
fclose(fpin);
ret = send(cliSocket buf readsize0);

//---------接收数据--------------
char receivebuf[100];
recv(cliSocket receivebuf 1000);
printf(“%s\n“ receivebuf);//有问题。发送过来的数据以数组形式存储的 

closesocket(cliSocket);
WSACleanup();
system(“pause“);
return 0;


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1644  2012-02-22 13:40  client1.cpp
     文件        2111  2012-02-22 13:39  server1.cpp

评论

共有 条评论