永发信息网

ASP.NET C# B/S结构 我想实现一个线程监控

答案:3  悬赏:40  手机版
解决时间 2021-01-26 18:32
  • 提问者网友:龅牙恐龙妹
  • 2021-01-26 08:17
我想实现一个简单的线程监控,就是客户端登陆的时候,我吧他的登陆时间记录在数据库,离开的时候(直接关闭页面,或者断电)我记录它的离开时间!我不知道怎么写?
从网上看了下 捣鼓了一点点,不知道对不对,而且不知道怎么写下去了,希望大家能帮个忙个修改并完善下,谢谢了!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;

using JH.Game.ServiceLibrary.Model;
using JH.Game.ServiceLibrary.Bll;

using FluorineFx.Data;
using FluorineFx;
using FluorineFx.AMF3;

namespace JH.Game.ServiceLibrary.RemotingService
{
[RemotingService]
public class listener
{

public listener()
{

}
//IP地址
private IPAddress ip;

//端口
private int port;

//监听器
private TcpListener Tcls = null;

//监听线程
private Thread th;

//启动线程
private void Start()
{
th = new Thread(new ThreadStart(Func));
th.IsBackground=true;
th.Start();
}

//停止线程
private void Stop()
{
th.Abort();
if (Tcls != null)
{
Tcls.Stop();
Tcls = null;
}
}
private void Func()
{
Tcls = new TcpListener(ip,port);
Tcls.Start();
while (true)
{
if (Tcls.Pending())
{
TcpClient tc = Tcls.AcceptTcpClient();

Client cl = new Client(tc, th);
th.Start(cl);
}
else
{
Thread.Sleep(300);
}
}
}
可以加分的!
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-01-26 08:54
B/S的不用专门一个线程来监控吧
在登录的时候会有一个登录的方法吧,在那里添加登录的记录
然后添加一个全局应用程序类:Global.asax,在里面有个Session_End的事件,这个事件在用户关闭页面之后就会触发,在这里记录他离开的时间,在记录前要先判断下他有没有登录,因为ibuguan有没有登录都会触发这个事件的
至于在他点击退出登录后要不要记录就看你自己了
全部回答
  • 1楼网友:风格不统一
  • 2021-01-26 11:08
不懂线程。。关注一下
  • 2楼网友:旧脸谱
  • 2021-01-26 10:22
你好! 用socket,服务端上有socket disconnect方法,就是响应断网的或者下线的时的事件。 纪录事件在这方法上完成即可 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯