qt-使用QT,主机做了一个服务端,局域网中可以连接别人,别人连接自己输入字符就会断开连接

问题描述

使用QT,主机做了一个服务端,局域网中可以连接别人,别人连接自己输入字符就会断开连接 5C
cmd下使用telnet也是输入字符就断开连接
电脑杀毒软件一直没启动,防火墙全部关闭,端口号10000
然后写了个客户端,同样的问题,输入字符断开连接。楼下依次上图

解决方案

解决方案二:

解决方案三:

解决方案四:

解决方案五:
输入字符a就出现了断开连接 下面上代码

解决方案六:

chatsever.h

#ifndef CHATSEVER_H
#define CHATSEVER_H

#include
#include
#include
#include
#include
#include
namespace Ui {
class ChatSever;
}

class ChatSever : public QMainWindow
{
Q_OBJECT

public:
explicit ChatSever(QWidget *parent = 0);
~ChatSever();
void startSever();
void stopSever();
private slots:
void on_startBtn_clicked();

void on_stopBtn_clicked();//处理网络客户端连接的槽函数void newConnectionSlots();//客户端数据

void clientReadyReadSlots();
private:
Ui::ChatSever ui;
QTcpServer
server;
QTcpSocket* socket;
};

#endif // CHATSEVER_H

chatsever.cpp

#include ""chatsever.h""
#include ""ui_chatsever.h""

ChatSever::ChatSever(QWidget *parent) :
QMainWindow(parent)
ui(new Ui::ChatSever)
{
ui->setupUi(this);
ui->startBtn->setIcon(QIcon(""D:Qt-appliChatSevericonsu.png""));
}

ChatSever::~ChatSever()
{
delete ui;
}

void ChatSever::startSever()
{
//
}

void ChatSever::stopSever()
{
disconnect(serverSIGNAL(newConnection()));
server->close();
}

void ChatSever::on_startBtn_clicked()
{
//启动服务器
//1.得到相应的ipport
//IPv4_Any
int port=ui->lineEdit->text().toInt();
ui->textEdit->append(tr(""%1"").arg(port));
//2.实例化服务器对象
server = new QTcpServer(this);

//3.启动监听 connect(serverSIGNAL(newConnection())thisSLOT(newConnectionSlots()));

// server->listen(QHostAddress::Anyport);
//4.等待处理客户端连接
server->listen(QHostAddress::Any10000);
//connect(serverSIGNAL(newConnection())thisSLOT(newConnectionSlots()));
ui->textEdit->append(""listen ..."");
}

void ChatSever::on_stopBtn_clicked()
{
//
}

void ChatSever::newConnectionSlots()
{
ui->textEdit->append(""this is a client ..."");
socket=server->nextPendingConnection();
connect(socketSIGNAL(readyRead())thisSLOT(clientReadyReadSlots()));
}

void ChatSever::clientReadyReadSlots()
{
QByteArray data;
data.clear();
while(socket->bytesAvailable()){
data.append(socket->readAll());
}
ui->textEdit->append(""ready read"");
ui->textEdit->append(data);
}

解决方案七:
检查你是协议,是不是什么地方没处理好,一切按协议来

解决方案八:
很久之前也做过一个类似的,好像也碰到过这个问题。发送字符的时候连接自动退出,不记得怎么解决的,我可以把代码发给你。。要的话留下邮箱

解决方案九:
检查你的协议,可能是这个字符引发了什么错误,可以获取下错误码

时间: 2024-08-23 21:53:52

qt-使用QT,主机做了一个服务端,局域网中可以连接别人,别人连接自己输入字符就会断开连接的相关文章

解析php做推送服务端实现ios消息推送

本篇文章是对php做推送服务端实现ios消息推送的方法进行了详细的分析介绍,需要的朋友参考下   准备工作1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken) 2.获取ck.pem文件(做手机端的给) 3.获取pass phrase(做手机端的给) testpush.php文件 复制代码 代码如下: <?php //手机注册应用返回唯一的deviceToken $deviceToken = '6ad7b13f b05e6137 a46a60e

winform-Winform客户端和Android客户端同时使用一个服务端,后端(C#)采用什么技术实现?

问题描述 Winform客户端和Android客户端同时使用一个服务端,后端(C#)采用什么技术实现? asp.net Webapi作为Android服务端(个人想法),Winform使用什么服务端呢?如果要求数据同步,使用观察者模式?使用的协议也是个问题.求大神指点! 解决方案 web API都可以,只要你 的服务器是什么平台就选对应的,比如windows就用C#等开发web API这样各种客户端都可以访问 解决方案二: 考虑到android调用的方便,建议直接用asp.net mvc返回js

求大神指点 小弟想做一款小软件,一个服务端多个客户端,实现服务端能查看到客户端的IP、MAC、NAME、SystemName...并能远程控制客户端主机关机。

问题描述 详细解释下:1.服务端窗口界面显示信息:1).已连接的客户端(每个以一个按钮形式显示):2).光标放在客户端按钮上能显示出相应客户端的计算机名.IP地址.MAC地址.操作系统版本:3).点击客户端按钮能实现对客户端的主机远程关机.2.客户端实现的功能:开机自动运行该软件,并显示是否与服务器连接良好.本人目前只知道通信可以用SOCKET.获取计算机信息用management类,其他的对策不清楚,不知道对与不对,希望能得到大家的指点,说一下具体操作思路,解决方案,当然有案例就更好了,希望看

请教一个服务端读取pdf文件,并由客户端处理的问题。

问题描述 现状:一个基于B/S结构的程序,客户端通过IE浏览器打开存放在服务端的pdf文件,直接浏览,不需要下载到本地.浏览过后,点击页面的一个"确认"按钮,通知服务端已看过此pdf文件.问题:1.客户端通过IE打开服务器端的pdf文件,是否会在客户端的操作系统中有个临时文件夹来存放此pdf文件的缓存文件?如有的话,此文件的存放位置在哪?win7vistaxp这些操作系统是否存放在相同的目录中?如何获取此缓存文件?此缓存文件是否会自动删除,还是一直保留? 解决方案 解决方案二:PDF嵌

VB.net Socket 一个服务端多个客户端如何实现消息互通呢?

问题描述 各位兄弟朋友,小弟我在一个项目中急需Socket通信功能,我一直搞不定多个客户端的事情,麻烦大家帮帮忙嘛.最好是有源码!感激不尽!!问题描述:1:服务端一个2:客户端多个3:每个客户端可单独给服务端发信息,服务端也可给当前客户端回复信息4:服务端可以向所有的客户端发送信息,也可以单独给某个客户端发送信息5:语言vb.net 解决方案 解决方案二:自己先顶一下!解决方案三:http://bbs.csdn.net/topics/370172131http://blog.csdn.net/l

C#做的socket服务端,将client请求转发到远程主机,主机回复后再转回给client,大家看看有啥问题不

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;usingSystem.Threading;namespaceWirelessPhoneAdapter{classProgram{staticintListenPort=0;staticintServerPort=0;staticstringServerIp=string.Empty;s

asp.net基于C# Socket聊天程序(一个服务端,多个客户端)

部分代码: 命名空间:  代码如下 复制代码 using System.Net;  using System.Net.Sockets;  using System.Threading;  using System.IO;  mainform.cs  代码如下 复制代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawin

解析php做推送服务端实现ios消息推送_php技巧

准备工作1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken)2.获取ck.pem文件(做手机端的给)3.获取pass phrase(做手机端的给) testpush.php文件 复制代码 代码如下: <?php//手机注册应用返回唯一的deviceToken$deviceToken = '6ad7b13f b05e6137 a46a60ea 421e5016 4b701671 cc176f70 33bb9ef4 38a8aef9';//ck.

Erbix:兼容于 CommonJS 的服务端 JavaScript 主机平台

Erbix 为构建和部署 JavaScript 应用程序的云端平台.除了支持 RinjoJS,CommonJS 模块,PostgreSQL 外,还支持具可伸缩性的按需调配主机. Erbix is a platform for building and deploying JavaScript applications on the Cloud. It features support for RinjoJS,CommonJS modules, PostgreSQL and on-demand s