本模块主要基于TCP协议,通过网络进行文件收发,并在LINUX系统环境进行了验证。在进行文件收发时,发送方首先发送待发文件的名字,接收方收到后,发送字符串“OK”进行确认,发送方收到确认后开始发送文件内容。
基于TCP SOCKET编程,并进行封装,实现网络接收和发送文件。
无
l 主要变量定义
#define AVIC_CTRL_TCP_PORT 8000 #define SOCKET int #define INVALID_SOCKET -1
|
l 主要函数说明:
(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分
暂无评价
CPU/GPU ¥12000.00
CPU/GPU ¥25000.00
CPU/GPU ¥10000.00
CPU/GPU ¥30000.00
CPU/GPU ¥10000.00
CPU/GPU ¥15000.00
CPU/GPU ¥10000.00
CPU/GPU ¥10000.00
其他 ¥5000.00
其他 ¥5000.00
其他 ¥10000.00
其他 ¥10000.00
其他 ¥10000.00
其他 ¥10000.00
其他 ¥10000.00
其他 ¥10000.00
FPGA电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
CPU/GPU ¥10000.00
FPGA电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
FPGA电路 ¥10000.00
DSP电路 ¥10000.00
CPU/GPU ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
CPU/GPU ¥10000.00
FPGA电路 ¥10000.00
FPGA电路 ¥10000.00
模拟电路 ¥10000.00
模拟电路 ¥5000.00
模拟电路 ¥5000.00
模拟电路 ¥5000.00
模拟电路 ¥10000.00
模拟电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
FPGA电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
DSP电路 ¥10000.00
CPU/GPU ¥20000.00
CPU/GPU ¥20000.00
CPU/GPU ¥20000.00
CPU/GPU ¥20000.00
CPU/GPU ¥15000.00
CPU/GPU ¥20000.00
CPU/GPU ¥18000.00
CPU/GPU ¥20000.00
其他 ¥10000.00
其他 ¥6000.00
其他 ¥2000.00
其他 ¥3000.00
其他 ¥12000.00
其他 ¥8000.00
FPGA电路 ¥5000.00
MCU电路 ¥4800.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
嵌入式 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
MCU电路 ¥50000.00
MCU电路 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥500000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00
其他 ¥50000.00