CODE_LINUX_APP_FILERECVSEND

主要用途:基于TCP SOCKET编程,并进行封装,实现网络接收和发送文件。

能力分类:嵌入式

应用领域:工业电子,汽车电子,电源电池,机器人,无人机

交易方式: 定制

参考价格:50000.00 小贴士:当前佣金是0%

好评率:100%| 综合评分:5.0| 已购买:0次
联系我 收藏店铺
分享: 

 模块描述

1.1  原理及方式

本模块主要基于TCP协议,通过网络进行文件收发,并在LINUX系统环境进行了验证。在进行文件收发时,发送方首先发送待发文件的名字,接收方收到后,发送字符串“OK进行确认,发送方收到确认后开始发送文件内容

 

1.2  主要功能

基于TCP SOCKET编程,并进行封装,实现网络接收和发送文件。

标准模块

 模块设计

主要变量定义

 

#define  AVIC_CTRL_TCP_PORT    8000

#define  SOCKET                 int

#define  INVALID_SOCKET          -1

 

 

主要函数说明:

 

1)创建接收端的监听Socket

 

函数原型

SOCKET create_listensocket(int i_port)

功能描述

创建接收端Listen Socket,绑定IP和端口号

输入参数

i_port:  接收端的端口号

输出参数

全局变量值的变化

返回值

正常:socket值;

错误:-1

 

2)接收对端的建立连接请求

 

函数原型

SOCKET accept_socket(SOCKET listen_socket)  

功能描述

接收客户端发起的socket连接,创建与对端的收发socket

输入参数

listen_socket :接收端使用的监听socket

输出参数

全局变量值的变化

返回值

正常:与对端数据收发使用的Socket

错误:-1

 

3)与对端发起连接请求

 

函数原型

SOCKET socket_connect(char *ip_str, int i_port)  

功能描述

获取指定文件的大小

输入参数

ip_str: 对端IP地址

i_port: 建立连接的端口号

输出参数

全局变量值的变化

返回值

正常:socket描述符;

错误:-1

 

4)接收文件

 

函数原型

int recv_work(int i_port)   

功能描述

接收对端发送的文件

输入参数

i_port: 连接的端口号

输出参数

全局变量值的变化

返回值

正常:0

错误:-1

 

5)发送文件

 

函数原型

int send_work(char *ip_str, int i_port, char *filename)

功能描述

向对端发送文件

输入参数

ip_str:   对端IP地址

i_port:   连接的端口号

filename: 指向发送文件路径的指针

输出参数

全局变量值的变化

返回值

正常:0

错误:-1

 

类定义

 应用举例

 

举例如下代码,建立接收监听任务,待对端发送文件时候进行接收。

 

 

int net_tcp_server_start(int serverPort)

{

int i_port = 0;

i_port = serverPort;


//system("./rm_h264_and_hdr.sh");

    if ( 0 == recv_work(i_port) )

{

printf("recv file success! \n" );

}

else

{

printf("recv failure! \n");

}

 

return 0;

}

 

int recv_file_tcp_task(void)

{

int retval = 0;

int i_port = AVIC_CTRL_TCP_PORT;


//printf( "[%d] %s created!\n", i_port, __func__ );

 

while(1)

{

retval = net_tcp_server_start(i_port);

if ( retval < 0 )

{

printf( "[8000] net_tcp_server_start error!\n" );

}


printf("net_tcp_server_start end.............\n");

}


}

 

 

int main(void)

{


recv_file_tcp_task();


return 0;


} 

 

 其他


总体评价

好评率:100%

好评数量:0

总体评分

工作速度:5分

工作质量:5分

工作态度:5分

暂无评价

企业其他能力

More>