zoukankan      html  css  js  c++  java
  • win 32下c语言文件传输客户端1.23

    #include <stdio.h>
    #include <windows.h>
    //#include <winsock2.h>
    #include <stdlib.h>
    
    
    
    #pragma comment(lib, "ws2_32.lib")  
    
    int main(int argc, char *argv[])
    
    {
    	WSADATA wsadata;
    	WSAStartup(MAKEWORD(2,0),&wsadata);
    	unsigned sock_trans=socket(AF_INET,SOCK_STREAM,0);
    
    	if (sock_trans==0)
    	{
    
    	printf ("socket build faile!!\n");
    	exit(1);
    
    	}
    
    	printf ("target pc's IP address: 127.0.0.1\n");
    
    //如果正式调试,将服务器端ip写死。
    
    
    	SOCKADDR_IN sockadd;
    	sockadd.sin_family=AF_INET;
    	sockadd.sin_port=htons(6666);
    	sockadd.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
    
    	int con_info=connect(sock_trans,(SOCKADDR*)&sockadd,sizeof(sockadd));
    
    	if (con_info==SOCKET_ERROR)
    	{
    
    	printf ("connect fail!\n");
    
    	//exit(2);
    
    	}
    
    	char buf[1024];
    
    	int freed_return_val=0;
    
    	Sleep(1000);
    
    
    	FILE *fp;
    	printf("file name:");
    	char filename[50]={0};
    	gets(filename);
    	fp=fopen(filename,"rb");
    	if (fp==NULL)
    	{
    		perror("\nopen file error:");
    		exit(1);
    	}
    
    	//freed_return_val=fread(buf,1,1024,fp);//读文件字符
    
    	while (1)
    
    	{
    	freed_return_val=fread(buf,1,1024,fp);
    	if (0==freed_return_val)
    	{
    		break;
    	}
    	//freed_return_val=fread(buf,1,1024,fp);
    	send(sock_trans,buf,freed_return_val,0);
    
    	}
    
    	fclose(fp);
    
    	closesocket(sock_trans);
    	WSACleanup();
    
    	return 0;
    
    }
    


  • 相关阅读:
    hashilb的使用
    包的导入/软件开发规范/异常处理
    序列化模块/模块/包
    常见模块
    可变数据类型和不可变数据类型
    python-----运算符及while循环
    Python之字符串切片
    第一、二次实训作业
    第二次JAVA作业
    Java学习心得
  • 原文地址:https://www.cnblogs.com/wangyaning/p/4237047.html
Copyright © 2011-2022 走看看