当前位置: 技术问答>linux和unix
关于传输文件程序的问题
来源: 互联网 发布时间:2016-04-03
本文导语: 发送方将文件名和文件内容写入描述符,然后接受方读取 如果接受方先打开,发送方再输入发送的文件名,接受方能够识别出文件名和文件内容 但是发送方先输入文件名,接受方再打开,接受方会将文件名和文件内...
发送方将文件名和文件内容写入描述符,然后接受方读取
如果接受方先打开,发送方再输入发送的文件名,接受方能够识别出文件名和文件内容
但是发送方先输入文件名,接受方再打开,接受方会将文件名和文件内容都以为是文件名,然后堵塞等待下步文件内容的接受,这时候发送方再发送个文件,接受方会将文件名和文件内容都认为是文件内容
不知道有什么好方法将文件名和文件内容分开
以下是我程序
server的
#include
#include
#include
#include
#include
#include
#include
struct sockaddr_in sin;
int fromlen;
int initserver(int port)
{
int s,new_socket;
struct hostent *hp;
hp=gethostbyname("F80_test");
if(hp==NULL)
{
perror(" host address error");
exit(2);
}
s=socket(AF_INET,SOCK_STREAM,0);
if(sh_addr,&sin.sin_addr,hp->h_length);
if(bind(s,&sin,sizeof(sin))
如果接受方先打开,发送方再输入发送的文件名,接受方能够识别出文件名和文件内容
但是发送方先输入文件名,接受方再打开,接受方会将文件名和文件内容都以为是文件名,然后堵塞等待下步文件内容的接受,这时候发送方再发送个文件,接受方会将文件名和文件内容都认为是文件内容
不知道有什么好方法将文件名和文件内容分开
以下是我程序
server的
#include
#include
#include
#include
#include
#include
#include
struct sockaddr_in sin;
int fromlen;
int initserver(int port)
{
int s,new_socket;
struct hostent *hp;
hp=gethostbyname("F80_test");
if(hp==NULL)
{
perror(" host address error");
exit(2);
}
s=socket(AF_INET,SOCK_STREAM,0);
if(sh_addr,&sin.sin_addr,hp->h_length);
if(bind(s,&sin,sizeof(sin))