Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
学嗨无涯
zoompipeline
提交
0bb6d9b8
zoompipeline
项目概览
学嗨无涯
/
zoompipeline
与 Fork 源项目一致
Fork自
colorEagleStdio / zoompipeline
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
zoompipeline
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0bb6d9b8
编写于
9月 06, 2014
作者:
丁劲犇
😸
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ziny Improve
上级
d2883028
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
72 addition
and
63 deletion
+72
-63
ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp
ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp
+71
-63
ZoomPipeline_FuncSvr/network/zp_nettransthread.h
ZoomPipeline_FuncSvr/network/zp_nettransthread.h
+1
-0
未找到文件。
ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp
浏览文件 @
0bb6d9b8
...
...
@@ -14,7 +14,7 @@ quint64 g_bytesSent = 0;
quint64
g_secRecieved
=
0
;
quint64
g_secSent
=
0
;
namespace
ZPNetwork
{
namespace
ZPNetwork
{
int
zp_netTransThread
::
RUBBISH_CAN_SIZE
=
256
;
zp_netTransThread
::
zp_netTransThread
(
zp_net_Engine
*
pThreadPool
,
int
nPayLoad
,
QObject
*
parent
)
:
...
...
@@ -32,6 +32,7 @@ namespace ZPNetwork{
foreach
(
QObject
*
pDel
,
m_rabish_can
)
pDel
->
deleteLater
();
m_rabish_can
.
clear
();
m_set_rabish
.
clear
();
m_mutex_rabish_can
.
unlock
();
}
...
...
@@ -112,7 +113,11 @@ namespace ZPNetwork{
void
zp_netTransThread
::
push_to_rabish_can
(
QObject
*
deletedobj
)
{
m_mutex_rabish_can
.
lock
();
m_rabish_can
.
push_back
(
deletedobj
);
if
(
m_set_rabish
.
contains
(
deletedobj
)
==
false
)
{
m_rabish_can
.
push_back
(
deletedobj
);
m_set_rabish
.
insert
(
deletedobj
);
}
if
(
RUBBISH_CAN_SIZE
<
16
)
RUBBISH_CAN_SIZE
=
16
;
if
(
RUBBISH_CAN_SIZE
>
65536
)
...
...
@@ -123,6 +128,7 @@ namespace ZPNetwork{
while
(
m_rabish_can
.
size
()
>=
RUBBISH_CAN_SIZE
)
{
m_rabish_can
.
first
()
->
deleteLater
();
m_set_rabish
.
remove
(
m_rabish_can
.
first
());
m_rabish_can
.
pop_front
();
}
m_mutex_rabish_can
.
unlock
();
...
...
@@ -275,9 +281,9 @@ namespace ZPNetwork{
m_mutex_protect
.
lock
();
m_clientList
.
remove
(
pSock
);
m_mutex_protect
.
unlock
();
pSock
->
abort
();
//
pSock->abort();
emit
evt_ClientDisconnected
(
pSock
);
//
emit evt_Message(pSock,"Info>" + QString(tr("Client Closed.")));
emit
evt_Message
(
pSock
,
"Info>"
+
QString
(
tr
(
"Client Closed."
)));
qDebug
()
<<
tr
(
"(%1)..Closed."
).
arg
((
quint64
)
pSock
);
push_to_rabish_can
(
pSock
);
}
...
...
@@ -342,27 +348,28 @@ namespace ZPNetwork{
pSock
->
peerPort
()
<<
tr
(
"(%1)..Error :%2."
).
arg
((
quint64
)
pSock
).
arg
(
pSock
->
errorString
());
emit
evt_SocketError
(
pSock
,
socketError
);
//emit evt_Message(pSock,"Debug:" + pSock->errorString());
if
(
m_bSSLConnection
)
{
QSslSocket
*
psslsock
=
qobject_cast
<
QSslSocket
*>
(
pSock
);
if
(
psslsock
)
disconnect
(
psslsock
,
&
QSslSocket
::
encrypted
,
this
,
&
zp_netTransThread
::
on_encrypted
);
}
disconnect
(
pSock
,
&
QTcpSocket
::
readyRead
,
this
,
&
zp_netTransThread
::
new_data_recieved
);
disconnect
(
pSock
,
&
QTcpSocket
::
disconnected
,
this
,
&
zp_netTransThread
::
client_closed
);
disconnect
(
pSock
,
SIGNAL
(
error
(
QAbstractSocket
::
SocketError
)),
this
,
SLOT
(
displayError
(
QAbstractSocket
::
SocketError
)));
disconnect
(
pSock
,
&
QTcpSocket
::
bytesWritten
,
this
,
&
zp_netTransThread
::
some_data_sended
);
disconnect
(
pSock
,
&
QTcpSocket
::
connected
,
this
,
&
zp_netTransThread
::
on_connected
);
//
if (m_bSSLConnection)
//
{
//
QSslSocket * psslsock = qobject_cast<QSslSocket *>(pSock);
//
if (psslsock)
//
disconnect(psslsock, &QSslSocket::encrypted,this, &zp_netTransThread::on_encrypted);
//
}
//
disconnect(pSock, &QTcpSocket::readyRead,this, &zp_netTransThread::new_data_recieved);
//
disconnect(pSock, &QTcpSocket::disconnected,this,&zp_netTransThread::client_closed);
//
disconnect(pSock, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
//
disconnect(pSock, &QTcpSocket::bytesWritten, this, &zp_netTransThread::some_data_sended);
//
disconnect(pSock, &QTcpSocket::connected,this, &zp_netTransThread::on_connected);
m_buffer_sending
.
erase
(
pSock
);
m_buffer_sending_offset
.
erase
(
pSock
);
m_mutex_protect
.
lock
();
m_clientList
.
remove
(
pSock
);
m_mutex_protect
.
unlock
();
pSock
->
abort
();
emit
evt_ClientDisconnected
(
pSock
);
emit
evt_Message
(
pSock
,
"Info>"
+
QString
(
tr
(
"Client Closed."
)));
push_to_rabish_can
(
pSock
);
// m_buffer_sending.erase(pSock);
// m_buffer_sending_offset.erase(pSock);
// m_mutex_protect.lock();
// m_clientList.remove(pSock);
// m_mutex_protect.unlock();
// pSock->abort();
// emit evt_ClientDisconnected(pSock);
// emit evt_Message(pSock,"Info>" + QString(tr("Client Closed.")));
pSock
->
disconnectFromHost
();
// push_to_rabish_can(pSock);
}
}
...
...
@@ -409,25 +416,25 @@ namespace ZPNetwork{
QTcpSocket
*
pSock
=
qobject_cast
<
QTcpSocket
*>
(
obj
);
if
(
pSock
)
{
if
(
m_bSSLConnection
)
{
QSslSocket
*
psslsock
=
qobject_cast
<
QSslSocket
*>
(
pSock
);
if
(
psslsock
)
disconnect
(
psslsock
,
&
QSslSocket
::
encrypted
,
this
,
&
zp_netTransThread
::
on_encrypted
);
}
disconnect
(
pSock
,
&
QTcpSocket
::
readyRead
,
this
,
&
zp_netTransThread
::
new_data_recieved
);
disconnect
(
pSock
,
&
QTcpSocket
::
disconnected
,
this
,
&
zp_netTransThread
::
client_closed
);
disconnect
(
pSock
,
SIGNAL
(
error
(
QAbstractSocket
::
SocketError
)),
this
,
SLOT
(
displayError
(
QAbstractSocket
::
SocketError
)));
disconnect
(
pSock
,
&
QTcpSocket
::
bytesWritten
,
this
,
&
zp_netTransThread
::
some_data_sended
);
disconnect
(
pSock
,
&
QTcpSocket
::
connected
,
this
,
&
zp_netTransThread
::
on_connected
);
m_buffer_sending
.
erase
(
pSock
);
m_buffer_sending_offset
.
erase
(
pSock
);
m_clientList
.
remove
(
pSock
);
pSock
->
abort
();
emit
evt_ClientDisconnected
(
pSock
);
//
if (m_bSSLConnection)
//
{
//
QSslSocket * psslsock = qobject_cast<QSslSocket *>(pSock);
//
if (psslsock)
//
disconnect(psslsock, &QSslSocket::encrypted,this, &zp_netTransThread::on_encrypted);
//
}
//
disconnect(pSock, &QTcpSocket::readyRead,this, &zp_netTransThread::new_data_recieved);
//
disconnect(pSock, &QTcpSocket::disconnected,this,&zp_netTransThread::client_closed);
//
disconnect(pSock, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
//
disconnect(pSock, &QTcpSocket::bytesWritten, this, &zp_netTransThread::some_data_sended);
//
disconnect(pSock, &QTcpSocket::connected,this, &zp_netTransThread::on_connected);
//
m_buffer_sending.erase(pSock);
//
m_buffer_sending_offset.erase(pSock);
pSock
->
disconnectFromHost
(
);
//
pSock->abort();
//
emit evt_ClientDisconnected(pSock);
//emit evt_Message(pSock,"Info>" + QString(tr("Client Closed.")));
qDebug
()
<<
tr
(
"(%1)..Closed."
).
arg
((
quint64
)
pSock
);
push_to_rabish_can
(
pSock
);
//
qDebug()<<tr("(%1)..Closed.").arg((quint64)pSock);
//
push_to_rabish_can(pSock);
}
}
...
...
@@ -447,27 +454,28 @@ namespace ZPNetwork{
if
(
pSock
)
{
if
(
m_bSSLConnection
)
{
QSslSocket
*
psslsock
=
qobject_cast
<
QSslSocket
*>
(
pSock
);
if
(
psslsock
)
disconnect
(
psslsock
,
&
QSslSocket
::
encrypted
,
this
,
&
zp_netTransThread
::
on_encrypted
);
}
disconnect
(
pSock
,
&
QTcpSocket
::
readyRead
,
this
,
&
zp_netTransThread
::
new_data_recieved
);
disconnect
(
pSock
,
&
QTcpSocket
::
disconnected
,
this
,
&
zp_netTransThread
::
client_closed
);
disconnect
(
pSock
,
SIGNAL
(
error
(
QAbstractSocket
::
SocketError
)),
this
,
SLOT
(
displayError
(
QAbstractSocket
::
SocketError
)));
disconnect
(
pSock
,
&
QTcpSocket
::
bytesWritten
,
this
,
&
zp_netTransThread
::
some_data_sended
);
disconnect
(
pSock
,
&
QTcpSocket
::
connected
,
this
,
&
zp_netTransThread
::
on_connected
);
m_buffer_sending
.
erase
(
pSock
);
m_buffer_sending_offset
.
erase
(
pSock
);
m_mutex_protect
.
lock
();
m_clientList
.
remove
(
pSock
);
m_mutex_protect
.
unlock
();
pSock
->
abort
();
emit
evt_ClientDisconnected
(
pSock
);
//emit evt_Message(pSock,"Info>" + QString(tr("Client Closed.")));
qDebug
()
<<
tr
(
"(%1)..Closed."
).
arg
((
quint64
)
pSock
);
push_to_rabish_can
(
pSock
);
// if (m_bSSLConnection)
// {
// QSslSocket * psslsock = qobject_cast<QSslSocket *>(pSock);
// if (psslsock)
// disconnect(psslsock, &QSslSocket::encrypted,this, &zp_netTransThread::on_encrypted);
// }
// disconnect(pSock, &QTcpSocket::readyRead,this, &zp_netTransThread::new_data_recieved);
// disconnect(pSock, &QTcpSocket::disconnected,this,&zp_netTransThread::client_closed);
// disconnect(pSock, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));
// disconnect(pSock, &QTcpSocket::bytesWritten, this, &zp_netTransThread::some_data_sended);
// disconnect(pSock, &QTcpSocket::connected,this, &zp_netTransThread::on_connected);
// m_buffer_sending.erase(pSock);
// m_buffer_sending_offset.erase(pSock);
// m_mutex_protect.lock();
// m_clientList.remove(pSock);
// m_mutex_protect.unlock();
pSock
->
disconnectFromHost
();
// pSock->abort();
// emit evt_ClientDisconnected(pSock);
// //emit evt_Message(pSock,"Info>" + QString(tr("Client Closed.")));
// qDebug()<<tr("(%1)..Closed.").arg((quint64)pSock);
// push_to_rabish_can(pSock);
}
}
...
...
ZoomPipeline_FuncSvr/network/zp_nettransthread.h
浏览文件 @
0bb6d9b8
...
...
@@ -51,6 +51,7 @@ namespace ZPNetwork{
zp_net_Engine
*
m_pThreadPool
;
//Rabish Can
QList
<
QObject
*>
m_rabish_can
;
QSet
<
QObject
*>
m_set_rabish
;
QMutex
m_mutex_rabish_can
;
void
push_to_rabish_can
(
QObject
*
deletedobj
);
public
slots
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录