当前位置:首页 > 代码 > 正文

.net聊天室源代码的简单介绍

admin 发布:2022-12-19 22:15 115


本篇文章给大家谈谈.net聊天室源代码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

我正在用c#.net编写一个简易的网络聊天室,但是无法实现私聊,那位大神可以说一说具体思路吗?

先将用户1和用户2 添加到私聊聊天室中

用户1发送消息时,通知用户2,用户2收到消息,显示消息

用户2回送消息时,通知用户1,用户1收到消息,显示消息

abstract class 聊天室

{

protected List用户 list = new List用户 ();

public abstract void Notify(用户 user);

public virtual void Add(用户 user)

{

list.Add(user);

}

}

class 私聊聊天室: 聊天室

{

public override void Notify(用户 user)

{

foreach (var item in list)

{

if (!(item is user))

{

(用户 )item.ShowMsg();

}

}

}

}

abstract class 用户

{

聊天室 lts;

public 用户(聊天室 lts)

{

this.lts=lts;

this.lts.Add(this);

}

public virtual void OnChange()

}

class 用户1 :用户

{

public 用户1(聊天室 lts):base(lts){}

public void SendMessge()

{

OnChange();

}

public void ShowMsg()

{

}

}

class 用户2 :用户

{

public 用户2(聊天室 lts):base(lts){}

public void SendMessge()

{

OnChange();

}

public void ShowMsg()

{

}

}

用ASP.net做一个简单的聊天室

ASP.NET

做一个最简单的聊天室,逻辑清晰简单,能帮你了解

Application

的用法。

第一步我们先构想我们需要的页面,应该也就是两个吧,第一个登陆页面

Login.aspx

,第二个聊

天室主页面

default.aspx

哦对了我们还需要加一个全局变量文件

Global.asax

。用来初始化我们要用到的

Application

对象。

这样做,在

Application_Start

Application_End

事件里添加如下代码:

void Application_Start(object sender, EventArgs e)

{

//

在应用程序启动时运行的代码

//

建立用户列表

string user = "";//

用户列表

Application["user"] = user;

Application["userNum"] = 0;

string chats = "";//

聊天记录

Application["chats"] = chats;

//

当前的聊天记录数

Application["current"] = 0;

}

void Application_End(object sender, EventArgs e)

{

//

在应用程序关闭时运行的代码

Application["user"] = "";

Application["chats"] = "";

}

现在我们先做个登陆页面,不用复杂,一个

TextBox

,我们把它的

id

设为

nameTextBox

,用来输

入昵称,一个

Button

按钮,用来登录。好吧就这么简单。

asp.net简单聊天室代码怎么写?

html

headtitleChat/title/head

frameset rows="*,100"

frame src="chatopinions.asp"

frame src="chatform.asp"

/frameset

/html chatopinions.asp

html

head

META HTTP-EQUIV=refresh content="5;URL=chatopinions.asp"/head

body bgcolor=FFFFFF

center

table border=0 width=350

trtd width=50

% =Application("A9") %/tdtd width=300% =Application("B9") %

/td/trtrtd

% =Application("A8") %/tdtd% =Application("B8") %

/td/trtrtd

% =Application("A7") %/tdtd% =Application("B7") %

/td/trtrtd

% =Application("A6") %/tdtd% =Application("B6") %

/td/trtrtd

% =Application("A5") %/tdtd% =Application("B5") %

/td/trtrtd width=50

% =Application("A4") %/tdtd% =Application("B4") %

/td/trtrtd

% =Application("A3") %/tdtd% =Application("B3") %

/td/trtrtd

% =Application("A2") %/tdtd% =Application("B2") %

/td/trtrtd

% =Application("A1") %/tdtd% =Application("B1") %

/td/tr/table

table border=0 width=350

trtd align=right

Get your chat at A REF=" "Submitside/A: free script.

/td/tr/table

/center

/body

/html chatform.asp

%

If Request.Form ("Opinion")="" then

ShowForm()

else

if Session("AA")="" then

NewUser()

GoAhead()

else

GoAhead()

end if

end if %

% Sub ShowForm() % htmlbody bgcolor=FFFFFF

center

form method=post action=chatform.asp

table border=0trtd

% if Session("AA")="" then %

Chose a name or nickname

input type=text name=Name size=20BR

Type your opinion

% else %

% =Session("AA") %

% end if %

input type=text size=60 name=Opinion value="% =request.form("Opinion") %"BR

input type=submit value="Submit"

/tdtr/table

/form

/center

/body

/html % End Sub % % Sub GoAhead() % %

BB=Request.form("Opinion")

BB=server.htmlencode(BB) Application.Lock

Application("B1")=Application("B2")

Application("B2")=Application("B3")

Application("B3")=Application("B4")

Application("B4")=Application("B5")

Application("B5")=Application("B6")

Application("B6")=Application("B7")

Application("B7")=Application("B8")

Application("B8")=Application("B9")

Application("B9")=BB Application("A1")=Application("A2")

Application("A2")=Application("A3")

Application("A3")=Application("A4")

Application("A4")=Application("A5")

Application("A5")=Application("A6")

Application("A6")=Application("A7")

Application("A7")=Application("A8")

Application("A8")=Application("A9")

Application("A9")=Session("AA")

Application.Unlock

% html

head/headbody bgcolor=FFFFFF

center

form method=post action=chatform.asp

table border=0trtd

% =Session("AA") % input type=text size=60 name=Opinion

BRinput type=submit value="Submit"

/td/tr/table

/form

/center

/body

/html % End Sub % % Sub NewUser() %

%

AA=Request.form("Name")

AA=server.htmlencode(AA)

Session("AA")=AA

% % End Sub %

java 聊天室 源代码

【ClientSocketDemo.java 客户端Java源代码】

import java.net.*;

import java.io.*;

public class ClientSocketDemo

{

//声明客户端Socket对象socket

Socket socket = null;

//声明客户器端数据输入输出流

DataInputStream in;

DataOutputStream out;

//声明字符串数组对象response,用于存储从服务器接收到的信息

String response[];

//执行过程中,没有参数时的构造方法,本地服务器在本地,取默认端口10745

public ClientSocketDemo()

{

try

{

//创建客户端socket,服务器地址取本地,端口号为10745

socket = new Socket("localhost",10745);

//创建客户端数据输入输出流,用于对服务器端发送或接收数据

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

//获取客户端地址及端口号

String ip = String.valueOf(socket.getLocalAddress());

String port = String.valueOf(socket.getLocalPort());

//向服务器发送数据

out.writeUTF("Hello Server.This connection is from client.");

out.writeUTF(ip);

out.writeUTF(port);

//从服务器接收数据

response = new String[3];

for (int i = 0; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

//执行过程中,有一个参数时的构造方法,参数指定服务器地址,取默认端口10745

public ClientSocketDemo(String hostname)

{

try

{

//创建客户端socket,hostname参数指定服务器地址,端口号为10745

socket = new Socket(hostname,10745);

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

String ip = String.valueOf(socket.getLocalAddress());

String port = String.valueOf(socket.getLocalPort());

out.writeUTF("Hello Server.This connection is from client.");

out.writeUTF(ip);

out.writeUTF(port);

response = new String[3];

for (int i = 0; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

//执行过程中,有两个个参数时的构造方法,第一个参数hostname指定服务器地址

//第一个参数serverPort指定服务器端口号

public ClientSocketDemo(String hostname,String serverPort)

{

try

{

socket = new Socket(hostname,Integer.parseInt(serverPort));

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

String ip = String.valueOf(socket.getLocalAddress());

String port = String.valueOf(socket.getLocalPort());

out.writeUTF("Hello Server.This connection is from client.");

out.writeUTF(ip);

out.writeUTF(port);

response = new String[3];

for (int i = 0; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

public static void main(String[] args)

{

String comd[] = args;

if(comd.length == 0)

{

System.out.println("Use localhost(127.0.0.1) and default port");

ClientSocketDemo demo = new ClientSocketDemo();

}

else if(comd.length == 1)

{

System.out.println("Use default port");

ClientSocketDemo demo = new ClientSocketDemo(args[0]);

}

else if(comd.length == 2)

{

System.out.println("Hostname and port are named by user");

ClientSocketDemo demo = new ClientSocketDemo(args[0],args[1]);

}

else System.out.println("ERROR");

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

【ServerSocketDemo.java 服务器端Java源代码】

import java.net.*;

import java.io.*;

public class ServerSocketDemo

{

//声明ServerSocket类对象

ServerSocket serverSocket;

//声明并初始化服务器端监听端口号常量

public static final int PORT = 10745;

//声明服务器端数据输入输出流

DataInputStream in;

DataOutputStream out;

//声明InetAddress类对象ip,用于获取服务器地址及端口号等信息

InetAddress ip = null;

//声明字符串数组对象request,用于存储从客户端发送来的信息

String request[];

public ServerSocketDemo()

{

request = new String[3]; //初始化字符串数组

try

{

//获取本地服务器地址信息

ip = InetAddress.getLocalHost();

//以PORT为服务端口号,创建serverSocket对象以监听该端口上的连接

serverSocket = new ServerSocket(PORT);

//创建Socket类的对象socket,用于保存连接到服务器的客户端socket对象

Socket socket = serverSocket.accept();

System.out.println("This is server:"+String.valueOf(ip)+PORT);

//创建服务器端数据输入输出流,用于对客户端接收或发送数据

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

//接收客户端发送来的数据信息,并显示

request[0] = in.readUTF();

request[1] = in.readUTF();

request[2] = in.readUTF();

System.out.println("Received messages form client is:");

System.out.println(request[0]);

System.out.println(request[1]);

System.out.println(request[2]);

//向客户端发送数据

out.writeUTF("Hello client!");

out.writeUTF("Your ip is:"+request[1]);

out.writeUTF("Your port is:"+request[2]);

}

catch(IOException e){e.printStackTrace();}

}

public static void main(String[] args)

{

ServerSocketDemo demo = new ServerSocketDemo();

}

}

.net聊天室源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、.net聊天室源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/27095.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载