linux文件传输,初学,请大家帮忙,谢谢

我 已经连接上了服务端,它有怎样的信息传输功能呢?图片说明

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "serv_client.h"

int main(int argc,char** argv)
{
int sockfd;
int clientfd;
uint16_t port;
int ret;
pid_t pid;

struct sockaddr_in server_addr;

if ( 2 != argc ){
    printf("usage:command listen_port\n");
    return -1;
}

port = atoi(argv[1]);

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

sockfd = socket(PF_INET,SOCK_STREAM,0);

if (sockfd < 0)   
{   
    perror("open data stream socket failed!\n");   
    return -1;  
}   

ret = bind(sockfd,(struct sockaddr *)&server_addr,sizeof(server_addr));
if(ret < 0)
{
    perror("bind data socket failed!\n");
    return -1;
}   

ret = listen(sockfd, SOMAXCONN );
if( ret < 0)
{
    perror("listening data stream failed!\n");
    return -1;
}

printf("Waiting for client conneciton...\n");
while(1)
{   
    clientfd = accept(sockfd, NULL, NULL);
    if( clientfd < 0)
    {
        perror("accept data connection error!\n");
        return -1;
    }
    pid = fork();
    if ( pid < 0 ){
        perror("fork error!\n");
    }

    if ( 0 == pid ){
        //chid process
        printf("one client come ...\n");
        serv_client(clientfd);
        return 0;
    }

    close(clientfd);
}

}

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "client_process.h"

void usage()
{
printf("command ip_addr port\n");
}

int main(int argc,char **argv)
{
struct sockaddr_in server;
int sockfd;
int port;
int ip_addr;
int ret;

if ( 3 != argc ){
    usage();
    return -1;
}

sockfd = socket(PF_INET, SOCK_STREAM , 0);
if(sockfd < 0)
{
    perror("data stream socket create failed!\n");
    return -1;
}

server.sin_family = AF_INET;
port = atoi(argv[2]);
server.sin_port = htons(port);

ret = inet_pton(AF_INET, argv[1], &server.sin_addr.s_addr);
if ( ret <=0 ){
    printf("your ip address is unvalide!\n");
    usage();
    return -1;
}


ret = connect(sockfd,(struct sockaddr*) &server,sizeof(struct sockaddr_in));
if(ret < 0)
{
    perror("data connection is failed!\n");
    return -1;
}

    printf("connect to server successfully!\n");

    clinet_process( sockfd );

}

connect成功后,就可以send发送信息了,然后服务端接收打印

你这个事几月socket的网络编程,在实际的开发中,我们会使用它send函数(你网上搜索 tcp send 就有一堆文章了)来向服务器发送相关的数据,
比如一些登陆请求等等,但是你题目中所说的文件传输,一般会使用http来做文件的传输,直接使用socket传输文件过于复杂。实际开发中不会采用这种
方法

你这个是基于socket的网络编程,在实际的开发中,我们会使用它send函数(你网上搜索 tcp send 就有一堆文章了)来向服务器发送相关的数据,
比如一些登陆请求等等,但是你题目中所说的文件传输,一般会使用http来做文件的传输,直接使用socket传输文件过于复杂,实际开发中不会采用这种
方法。