📄 network_ctrl_recv_thread.h
字号:
///////////////////////////////////////////////////////// FileName: network_ctrl_recv_thread.h// Author: b1gm0use// Project: myvideo#ifndef _NETWORK_CTRL_RECV_THREAD_H_#define _NETWORK_CTRL_RECV_THREAD_H_#include <qthread.h>#include <unistd.h>#include "common.h"class network_ctrl;class sockaddr_in;class network_audio_recv_thread;class network_video_recv_thread;class avi;// 继承自QThread类,负责从设备中取得图像,传送到显示部件// 传送到网络class network_ctrl_recv_thread : public QThread{public: // 构造函数 network_ctrl_recv_thread ( avi * avi_ptr_in, network_ctrl * nc_in, unsigned int stackSize = 0 ); // 析构函数 virtual ~network_ctrl_recv_thread ( void ); // 运行部分,线程代码在这里 virtual void run ( void );private: // 连接初始化,创建套接字 int connect_init ( void ); // 处理连接后的数据接收工作 void connect_handle ( void ); // 组播初始化,创建套接字 int connect_init_mc ( void ); // 处理组播连接后的数据接收工作 void connect_handle_mc ( void );private: // 上层network_ctrl对象指针 network_ctrl * nc; // 控制连接的套接字 int fd_ctrl; // 用于向网络发送数据和接收数据的两个缓冲区 BUFF * recv_buff; BUFF * send_buff; // 表示连接的结构 sockaddr_in * addr_accept; socklen_t * acclen; // 指示下一个要发送的数据包的序号 int packet_num; // 指示期待得到的下一个数据包的序号 int expect_num; // 指向音频接收线程 network_audio_recv_thread * nart; // 指向视频接收线程 network_video_recv_thread * nvrt; // 指向avi的指针 avi * avi_ptr;};#endif // _NETWORK_CTRL_RECV_THREAD_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -