[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(no subject)
From: |
edgar |
Subject: |
(no subject) |
Date: |
Tue, 23 Sep 2003 00:35:20 -0700 |
User-agent: |
Internet Messaging Program (IMP) 3.2.1 |
Hello !
I worked to do a Client Version of the
SampleSocketServer demo from Common C++
But I have a serius dude about: I realy do a good job?
Te basic Idea is change TCPSocket by Socket.
Apply this technique, work very well in a real program,
<<< Currently I control de creation of only one client...>>>
but I see a lot of CPU usage,
(
just like a while(true){} cycle
without a Thread::yield()
inside the cicle
)
from client connections,
and I can't undestand why. I can't idetifiy a point to insert a
Thread::yield(), or a sleep(int) call in order to minimize
the CPU usage.
I can't found that !!!
Please any one can Help my !
Simple examples and compiled files can be found in :
http://www.presentame.com/ccpp
Here are DE DIFFERENCES BETWEN SampleSocketPort.cpp (from
example distribution) and my client version:
============================================
diff originalSampleSocketPort.h clientVersionSampleSocketPorth
-------------------------------------------
24c24
< SampleSocketPort(SocketService *pService, TCPSocket & tcpSocket);
---
> SampleSocketPort(SocketService *pService, const InetHostAddress& ih,
tpport_t port);
137c137
< class SampleSocketServiceServer : public virtual TCPSocket, public virtual
Thread
---
> class SampleSocketServiceServer : public virtual Socket, public virtual
Thread
140,141c140,141
< SampleSocketServiceServer(InetHostAddress & machine, int port) :
< TCPSocket(machine, port), Thread(),
m_bQuitServer(true)
---
> SampleSocketServiceServer(InetHostAddress & machine, tpport_t port) :
> Socket(AF_INET,SOCK_STREAM), Thread(), m_bQuitServer(true), m_port
(port), m_machine(machine)
162c162
< CreateSocketPort(m_pSocketService, *((TCPSocket
*)
this));
---
> CreateSocketPort(m_pSocketService, m_machine,
> m_port);
176c176
< virtual SocketPort *CreateSocketPort(SocketService *pService, TCPSocket
& Socket) = 0;
---
> virtual SocketPort *CreateSocketPort(SocketService *pService,
InetHostAddress& machine, tpport_t port) = 0;
208a209,210
> tpport_t m_port;
> InetHostAddress m_machine;
===========================================
diff originalSampleSocketPort.cpp clientVersionSampleSocketPort.cpp
-------------------------------------------
50,51c50,54
< SampleSocketPort::SampleSocketPort(SocketService *pService, TCPSocket &
tcpSocket) :
< SocketPort(pService, tcpSocket)
---
> /**
> *
> */
> SampleSocketPort::SampleSocketPort(SocketService* svc, const InetHostAddress&
ih, tpport_t port):
> ost::SocketPort( svc, ih,port)
53c56
< tpport_t port;
---
>
290,291c293,294
< ReverserPort(SocketService *pService, TCPSocket & tcpSocket) :
< SampleSocketPort(pService, tcpSocket)
---
> ReverserPort(SocketService *pService, const InetHostAddress& ih,
tpport_t port):
> SampleSocketPort(pService, ih, port)
334,335c337,338
< ReverserServer(InetHostAddress & machine, int port) :
< SampleSocketServiceServer(machine, port), TCPSocket
(machine, port), Thread()
---
> ReverserServer(InetHostAddress & machine, tpport_t port) :
> SampleSocketServiceServer(machine, port), Socket
(AF_INET,SOCK_STREAM), Thread()
341c344
< virtual SocketPort *CreateSocketPort(SocketService *pService, TCPSocket
& Socket)
---
> virtual SocketPort *CreateSocketPort(SocketService *pService,
InetHostAddress & machine, tpport_t port)
343c346
< return(new ReverserPort(pService, Socket));
---
> return(new ReverserPort(pService, machine, port));
-------------------------------------------------
Thanks !!!!!!!!
FROM: address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |