bug-commoncpp
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]