Foxtable(狐表)用户栏目专家坐堂 → 多人同时使用时系统卡死


  共有97人关注过本帖树形打印复制链接

主题:多人同时使用时系统卡死

帅哥哟,离线,有人找我吗?
drcqh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3942 威望:0 精华:0 注册:2013/1/7 17:39:00
多人同时使用时系统卡死  发帖心情 Post By:2025/5/11 22:19:00 [显示全部帖子]

请教老师,项目使用OpenQQ实现数据的同步,但在多人使用时如有一人在操作,其它电脑就卡死了,这是什么原因?如何解决

 回到顶部
帅哥哟,离线,有人找我吗?
drcqh
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3942 威望:0 精华:0 注册:2013/1/7 17:39:00
  发帖心情 Post By:2025/5/12 10:59:00 [显示全部帖子]

sql server


 回到顶部
帅哥哟,离线,有人找我吗?
drcqh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3942 威望:0 精华:0 注册:2013/1/7 17:39:00
  发帖心情 Post By:2025/5/12 12:49:00 [显示全部帖子]

一、服务端:

1、ReceivedMessage事件:

    If e.Message = "+user+" Then  '如果收到"+user+"信息时,重新加载用户表

        DataTables("Users").Load()

    End If

    Dim msg As String = e.Message

    If msg.StartsWith(":g") AndAlso msg.EndsWith("g:") Then

        msg = msg.SubString(2, msg.Length - 4)

        If flbhs.ContainsKey(msg) Then '如果存在这个月的编号.flbhs为全局变量

            flbhs(msg) = flbhs(msg) + 1 '将该月最大编号加1

        Else

            flbhs.Add(msg,1) '如果这个月的首次编号,则编号等于1

        End If

   End if

2、UserLogging事件:

     If e.User IsNot Nothing Then

          e.Success=True

          For Each u As UserInfo In users

             If u.Name<>e.User.Name Then

                 If u.Group>"" Then

                    e.Buddies.Add(u.Group & "." & u.Name)

                 End If

             End If

           Next

   Eles If

        e.ReturnValue = flbhs(msg)

   End If


二、客户端:

1、ReceivedMessage事件:

Dim msg As String = e.Message

'MessageBox.Show("我是客户端接收到的信息:" & msg)

If msg.StartsWith("U#") Then '表示修改了某行

    Dim pts() As String = msg.Split("#")

    If pts.Length = 3 Then

        Dim dr As DataRow = DataTables(pts(1)).Find("[_Identify] = " & pts(2))

        If dr IsNot Nothing  Then

            dr.Load() '重新加载此行

        End If 

    End If


ElseIf msg.StartsWith("A#") Then '表示增加了行

    Dim pts() As String = msg.Split("#")

    If pts.Length = 3 Then

        DataTables(pts(1)).AppendLoad("[_Identify] = " & pts(2)) 

    End If

ElseIf msg.StartsWith("D#") Then '表示删除了行

    Dim pts() As String = msg.Split("#")

    If pts.Length = 3 Then

        DataTables(pts(1)).RemoveFor("[_Identify] = " & pts(2)) 

    End If

ElseIf msg.StartsWith("M#") Then 'M表示移除行

    Dim pts() As String = msg.Split("#")

    If pts.Length = 3 Then

        DataTables(pts(1)).RemoveFor("[_Identify] = " & pts(2)) '移除行

    End If

    

End If


If msg.StartsWith("+@") Then                      '如: +@|主键|处方号|医生姓名

    Dim pts() As String =msg.Split("|")

    dsfs.add(pts(1) & "|" & pts(2) & "|" & pts(3))  'dsfs为全局变量待收费处方

    Forms("信息提示窗口").Open

End If




 回到顶部
帅哥哟,离线,有人找我吗?
drcqh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3942 威望:0 精华:0 注册:2013/1/7 17:39:00
  发帖心情 Post By:2025/5/12 22:14:00 [显示全部帖子]

好的,谢谢!

 回到顶部