聊天室怎样实现私聊

发布网友 发布时间:2022-04-23 09:34

我来回答

5个回答

热心网友 时间:2022-04-26 15:17

私聊要求发言者和发言对象都能看到私聊的内容,另外,当私聊的对象是所有人时,责所有的人都能看到私聊的内容。因此,可以设置几个Application变量来保护私聊信息。例如,Application("Chat")保存私聊的内容,Application("Chatto")保存私聊的对象。当用户登陆聊天室时,使用Session("User")记录用户名,Session("Chat")记录该用户是否私聊,初始化为False,表示用户没有私聊;当用户要私聊时,责记录私聊信息,并将Session("Chat")设置为True,表示有私聊。其语句如下
Application("chat")="<font color=blue>"&发言者&</font><l>悄悄的对<font color=#00bb00> "&私聊对象&"</font>说</l>:<font color=#0000aa>"&聊天内容&"</font><br><br>
Application("chatto")=私聊对象用户名
Application("owner")=发言者用户名
Session("chat")=true
当Application中保存信息后,用户浏览器端会判断Session("User")的值与Application("chatto")或者Application(“Owner”)的值是否相同,如果相同,则在浏览器端显示私聊内容;如果不相同,但Application(“chatto”)是所有人,则仍然显示私聊内容,否则不会显示任何私聊信息

代码如下:建3个页面users.asp ,privatemsg.asp ,sendprivate.asp
//以下代码获取在线用户信息
<<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
// 设置定时器
setTimeout("update()",15000);
// 加载users.asp页
function update(){
document.location.href="users.asp"
}
// 定义打开私聊窗口
function privateWin(user, from){
url = "privatemsg.asp?user=" + user + "&from=" + from;
privatemsg = window.open(url,"privatemsg","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,WIDTH=400,HEIGHT=200");
}
//-->
</SCRIPT>
</head>
<body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 BGCOLOR="#ffffff" TEXT=#000000 LINK=#000000 VLINK=#000000>
<table width=186 border=0 cellspacing=0><tr><td bgcolor=#cccccc width=100% align=center>
<font face="Trebuchet MS, ms sans serif, Verdana,Arial" size=2 color=#4765><b>在线用户</b></font>
</td></tr></table>
<br>
<%
' 获取聊天的名称
Topic = Session("Topic")
Application.Lock ' 锁定application对象
' 当前用户不为空
If Not IsEmpty(Application.Contents("Users")) Then
Users = Application("Users")
Group = Application("UsersGroup")
NumOfUsers = UBound(Users)
For I = 0 To NumOfUsers '遍历用户名
If Topic = Group(I) Then
Response.Write ""
' 输出在线用户的相关信息
Response.Write " <a href=""javascript:privateWin('" & Server.URLEncode(Users(I)) & "', '" & Server.URLEncode(Session("Name")) & "')""><b>" & Users(I) & "</b></a><br>"
Response.Write " <small>IP: " & Application("UsersIP")(I) & "<br>"
Response.Write " 登录时间: " & Application("UsersTimeOn")(I) & "</small><br><br>"
End If
Next
End If
Application.Unlock ' 解锁application
%>
<br><br><br>
<font face="宋体" size=1 color=#4765>单击用户昵称发送私聊信息</font>
</body>
</html>

//以下代码私聊
<%
' 获取用户信息
User = Request.QueryString("user")
From = Request.QueryString("from")
%>
<html>
<head>
<title>Private Message To:<%=User%></title>
<script language="JavaScript">

<% If User = "" Then %>
// 用户获取的用户名为空,则关闭该窗口
window.close();
<% End If %>
// 表单发送
function check(form){
form.submit();
}
</script>
</head>
<body bgcolor="#0033FF" text="#66CCFF" link="#FF0000" vlink="#FF0000">
<center>
<font face=verdana size=2>
发送私聊信息给:<%=User%>
</font>
<table border=0 cellspacing=0>
<form action=sendprivate.asp method=post>
<tr><td valign=top><font face='verdana, arial' size=-1>信息:</font>
</td><td valign=top>
<textarea name="Msg" rows=3 cols=30></textarea>
</td></tr>
<tr><td colspan=2 align=center>
<br><br>
<input type="button" value="发送私聊信息" onClick="check(this.form)">
<input type="hidden" value="<%=User%>" name="User">
<input type="hidden" value="<%=From%>" name="From">
</td></tr></form></table>
</body>
</html>

//私聊马上就要实现了
<%
' 获取私聊窗口表单中的信息
User = Request.Form("User")
From = Request.Form("From")
Msg = Request.Form("Msg")
' 取出application对象中的用户信息
PrivRcpt = Application("PrivateRcpt")
If IsArray(PrivRcpt) Then
PrivateMsgs = Application("PrivateMsgs")
NumOfRcpt = UBound(PrivRcpt) +1
' 重新定义用户信息数组
ReDim Preserve UpdatedPrivRcpt(NumOfRcpt)
ReDim Preserve UpdatedPrivMsg(NumOfRcpt)
' 将用户信息放入数组的最后
UpdatedPrivRcpt(NumOfRcpt-1) = User
UpdatedPrivMsg(NumOfRcpt-1) = "<font face=verdana color=#008080>Private Message From " & From & ":</font>" & Msg
' 在将信息存入application对象
Application("PrivateRcpt") = UpdatedPrivRcpt
Application("PrivateMsgs") = UpdatedPrivMsg
Else
ReDim UpdatedPrivRcpt(1)
ReDim UpdatedPrivMsg(1)
' 将用户私聊信息加入到application对象中。
UpdatedPrivRcpt(0) = User
UpdatedPrivMsg(0) = "Private Message From " & From & ":" & Msg
Application("PrivateRcpt") = UpdatedPrivRcpt ' 用户信息加入application("PrivateRcpt")
Application("PrivateMsgs") = UpdatedPrivMsg ' 聊天信息加入到application("PrivateMsgs")

End If
' 导航到发送私聊信息窗口
Response.Redirect "privatemsg.asp"

%>

热心网友 时间:2022-04-26 16:35

1:一般公共聊天室都有私聊的功能的。


2:下图是一般聊天室的聊天条。有没有看到左上角写着所有人的地方?


3:然后点聊天室里你想说话人的名字。


4:点后就会出现下图里面有个对ta悄悄话。


5:这样我们就可以看到下图左下角这里就出现了你想聊天人的名字了,这样就变成私聊了

热心网友 时间:2022-04-26 18:10

私聊要求发言者和发言对象都能看到私聊的内容,另外,当私聊的对象是所有人时,责所有的人都能看到私聊的内容。因此,可以设置几个Application变量来保护私聊信息。例如,Application(“Chat“)保存私聊的内容,Application(“Chatto“)保存私聊的对象。当用户登陆聊天室时,使用Session(“User“)记录用户名,Session(“Chat“)记录该用户是否私聊,初始化为False,表示用户没有私聊;当用户要私聊时,责记录私聊信息,并将Session(“Chat“)设置为True,表示有私聊。其语句如下
Application(“chat“)=“<font color=blue>“&发言者&</font><l>悄悄的对<font color=#00bb00> “&私聊对象&“</font>说</l>:<font color=#0000aa>“&聊天内容&“</font><br><br>
Application(“chatto“)=私聊对象用户名
Application(“owner“)=发言者用户名
Session(“chat“)=true
当Application中保存信息后,用户浏览器端会判断Session(“User“)的值与Application(“chatto“)或者Application(“Owner”)的值是否相同,如果相同,则在浏览器端显示私聊内容;如果不相同,但Application(“chatto”)是所有人,则仍然显示私聊内容,否则不会显示任何私聊信息

热心网友 时间:2022-04-26 20:01

你可以百度一下小火柴匿名聊天,每一次聊天都是私聊。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com