QT使用UDP方式传输文件的关键代码
2013-10-31 11:14
537 查看
QT中使用UDP传输的核心代码:
相关项目的博文:
/article/2080092.html
void Sender::sendData() { if (!file.atEnd()) { QByteArray line = file.read(8000); udpSocket->writeDatagram( line , QHostAddress("192.168.0.175"),7755); i++; qDebug() << "send over!" << i << line.size(); } } void Sender::initSocket() { udpSocket = new QUdpSocket(this); udpSocket->bind(QHostAddress::LocalHost, 7754); connect(udpSocket, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); } void Sender::readPendingDatagrams() { //receive while (udpSocket->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(udpSocket->pendingDatagramSize()); QHostAddress sender; quint16 senderPort; udpSocket->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort); qDebug() << datagram; if (datagram == "1") { qDebug() <<"send ok!"; sendData(); } } } void Sender::on_pushButton_clicked() { file.setFileName("/home/akaedu/Pictures/test.jpg"); if (!file.open(QIODevice::ReadOnly)) return; sendData(); } void Receiver::initSocket() { udpSocket = new QUdpSocket(this); udpSocket->bind(QHostAddress::Any, 7755); connect(udpSocket, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); file.setFileName( "/home/akaedu/Pictures/test1.jpg" ); if (!file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Unbuffered)) return; } void Receiver::readPendingDatagrams() { //receive while (udpSocket->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(udpSocket->pendingDatagramSize()); QHostAddress sender; quint16 senderPort; udpSocket->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort); file.write(datagram.data(),datagram.size()); i++; udpSocket->writeDatagram("1",1, sender ,7754); qDebug() << i << datagram.size(); } }
相关项目的博文:
/article/2080092.html
相关文章推荐
- Java 使用 TCP 和 UDP 传输文件
- 如何使用C#代码创建快捷方式文件详解
- 如何使用Java代码获取文件、文件流或字符串的编码方式
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码
- python 使用poster模块进行http方式的文件传输到服务器
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码
- Spring学习第三天——Spring MVC,使用注解方式,intellij的代码说明,ajax,文件的上传下载
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- Linux网络编程之使用UDP/TCP传输文件
- 在使用MyEclipse新建文件时常常有些不需要的冗余代码可以采用如下方式进行更改
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- Qt 学习笔记--------------------使用纯代码写dialog 与 UI文件
- 使用Qt Designer和手动编写代码两种方式实现多窗口切换程序(Qt基础)
- 使用UDP方式进行传输数据
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- 命令行方式使用abator.jar生成ibatis相关代码和sql语句xml文件
- Java 使用 TCP 和 UDP 传输文件