当前位置:  技术问答>linux和unix

socket下文件传输问题

    来源: 互联网  发布时间:2017-05-12

    本文导语:  哎,颓废了好几年了,最近学习了点网络编程,遇到了一些问题,在这向大家请教下。 程序的功能是:客户端从本地读取文件,然后通过socket传输到服务器端,服务器端接收后也存到本地的一个文本文件中。 出现的...

哎,颓废了好几年了,最近学习了点网络编程,遇到了一些问题,在这向大家请教下。
程序的功能是:客户端从本地读取文件,然后通过socket传输到服务器端,服务器端接收后也存到本地的一个文本文件中。
出现的问题:服务器能够接收到客户端发来的文件信息到服务器buffer中,也可把服务器接收的信息通过printf出来,但是却不能通过fwrite写到本地文本文件中,还望大家给点意见。代码如下:

client.c


/**
*author:Debris
*time  :2014.03
*/
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define SERVER_PORT 8421
#define BUFFER_SIZE 2*1024

int main(int argc,char **argv[])
{
int sockfd;
char buffer[BUFFER_SIZE];
int len;
FILE *fp;
int n;

struct sockaddr_in server_addr;
bzero(&server_addr,sizeof(server_addr));

server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htons(INADDR_ANY);
server_addr.sin_port = htons(SERVER_PORT);

sockfd = socket(AF_INET,SOCK_STREAM,0);
if(sockfd == -1)
{
printf("create socket errorn");
exit(1);
}
if(connect(sockfd,(struct sockaddr*)&server_addr,sizeof(server_addr))  0)
printf("send successn");
else
printf("send errorn");
bzero(buffer,BUFFER_SIZE);
scanf("%s",&buffer);
}
fclose(fp);
close(sockfd);
return 0;
}



server.c

/**
*author:Debris
*time  :2014.03
*/
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define SERVER_PORT 8421
#define BUFFER_SIZE 1024

int main(int argc,char **argv[])
{
int sockfd;
int connfd;
FILE *fp;
char buffer[BUFFER_SIZE];
socklen_t len;

struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
bzero(&server_addr,sizeof(server_addr));

server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(SERVER_PORT);

sockfd = socket(AF_INET,SOCK_STREAM,0); 
if(sockfd == -1)
{
printf("create socket errorn");
exit(1);
}
//else
//printf("aaaaan");

if(bind(sockfd,(struct sockaddr *)&server_addr,sizeof(server_addr)) 0)
            {
                printf("the data is:%sn",buffer);
            }
        }

死循环,程序没有机会调用fclose,当调用fclose时才会写入到文件并保存

    
 
 

您可能感兴趣的文章:

  • socket实现多文件并发传输,求助多线程实现问题?
  • 高手啊,请问如何将BufferedImage转换为可以用SOCKET传输的数据
  • linux无线网络传输也可以直接使用socket接口编程吗?
  • 如何用socket一次传输多个文件,如何确定文件一个文件结束
  • linux 下如何图片如何通过socket传输?
  • JB5 Socket传输的汉字如何正常显示???
  • socket传输二进制文件输出是不是要用DataOutputStream?
  • socket(套接字)怎么传输二进制数据?急
  • socket传输
  • (在下等)如何解决socket 传输的丢包问题
  • linux下tcp协议的socket可靠传输
  • 对于socket UDP传输,一个端口只能被一个进程绑定?
  • socket 实现图片传输?
  • socket传输int型数字的问题
  • 用ARMV41-UNKNOWN_LINUX-GCC编译出的Socket程序传输结构体出问题,请大家帮忙分析一下
  • 各位高手,怎么在J2ME中进行socket传输呀?请帮忙给个提示。
  • Socket传输中文字符处理!!高分求救
  • 难道还有第3条分支???怎么判断 socket 的数据已经传输
  • 如何通过Socket传输对象?
  • 帮我看下UNIX下用SOCKET实现文件传输哪出错了
  • 关于文件操作和Socket网络编程!
  • Linux下怎么用socket接收zip文件流?怎么把zip文件读成流?
  • Socket的问题 iis7站长之家
  • 初来者,试问winsock改造成gcc socket需要什么头文件?
  • socket程序中,查看error需要什么头文件?
  • socket传送文件 客户端收到的文件和服务器端发送的不一样?
  • [高分相送200] 谁有linux下socket编写的发送文件源代码?(解决另开贴)
  • 内核源文件/net/socket.c中调用其他模块的函数,该如何实现
  • socket编程为什么.cpp文件编辑通不过
  • 请教linux下c用下载FTP站点中文件的socket程序思路
  • 请问一下,有谁知道linux源代码中socket(int domain, int type, int protocol);函数的定义是在哪个文件中啊?小弟我找了很久,都没找到,谢谢哈。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux socket问题。。怎样获得已帮定特定port的一个套接字socket
  • 关于socket概念的理解问题!
  • socket编程 中的bind问题
  • 你是否可以回答Socket的问题?数据先后问题
  • 多进程socket编程问题
  • Socket的问题
  • socket accept问题,大家指教。
  • socket客户端程序的问题
  • 关于多网口socket通信的简单问题
  • fgets用在SOCKET流上的问题
  • linux socket fd 写阻塞问题
  • linux下用socket实现多进程间通信问题?
  • 请教:多线程使用同一个socket进行数据收发会出现什么问题?
  • sco unix下socket编程的问题,请大家帮忙
  • 请问socket方面的问题
  • socket编程中的问题,请各位大侠指教!
  • 急!!请教关于linux socket编程的一个问题!!
  • socket编程,使用recvfrom()函数监听问题。
  • linux下socket编程问题!
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,