• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-06-07)  Socket library |   2 条评论  23 
    文章评分 0 次,平均分 0.0

    服务器端在新的连接建立时,会调用OnAccept(),所以可以在这个函数里添加信息。

    #ifndef _STATUSSOCKET_H
    #define _STATUSSOCKET_H
    
    #include <TcpSocket.h>
    #include <ISocketHandler.h>
    
    
    class StatusSocket : public TcpSocket
    {
    public:
    	StatusSocket(ISocketHandler& );
    
    	void OnAccept();
    
    };
    
    
    #endif // _STATUSSOCKET_H
    #include <Utility.h>
    #include "StatusSocket.h"
    
    
    StatusSocket::StatusSocket(ISocketHandler& h)
    :TcpSocket(h)
    {
    }
    
    
    void StatusSocket::OnAccept()
    {
    	Send("Local hostname : " + Utility::GetLocalHostname() + "\n");
    	Send("Local address : " + Utility::GetLocalAddress() + "\n");
    	Send("Number of sockets in list : " + Utility::l2string(Handler().GetCount()) + "\n");
    	Send("\n");
    }
    
    #include <SocketHandler.h>
    #include <ListenSocket.h>
    
    #include "StatusSocket.h"
    
    
    static	bool quit = false;
    
    int main()
    {
    	SocketHandler h;
    	ListenSocket<StatusSocket> l(h);
    
    	if (l.Bind(9002))
    	{
    		exit(-1);
    	}
    	Utility::ResolveLocal(); // resolve local hostname
    	h.Add(&l);
    	h.Select(1,0);
    	while (!quit)
    	{
    		h.Select(1,0);
    	}
    }
     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/1451.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享