成都大学
信息科学与技术学院
实验报告书
院系_________________________
专业_________________________
年级班级_________________________
学号_________________________
学生姓名_________________________
课程名称_________________________
指导老师_________________________
成都大学信息科学与技术学院实验室制
实验项目名称
简单聊天程序设计
实验日期
实验目的
通过利用一门程序语言,掌握简单的网络通讯程序的开发过程和具体细节,并以此通过实践了解小型项目的架构.
实验过程:
一:首先初次接触小型程序,是非常陌生的,并不知道从何处下手,在老师指导下,我们通过GOOGLE的帮助,首先查询了关于网络程序的设计基础,其实主要还是利用熟悉的语言,通过学习了SOCKET类,以及更高级的TCPLISENTER等高级类的使用,并且通过参考了一些简单代码后,通过团队努力我们写出了一个简单的聊天程序
二:工具是VS2010,语言是C#.
三:具体代码如下
由于根据要求,此聊天程序分为了客户端和服务器端,分别代码为:
服务器端
using System;
using ;
using ;
using ;
using ;
using .Sockets;
using ;
using ;
using ;
namespace Chat_Server
{
public class StatusChangedEventArgs : EventArgs
{
private string EventMsg;
public string EventMessage
{
get
{
return EventMsg;
}
set
{
EventMsg = value;
}
}
public StatusChangedEventArgs(string strEventMsg)
{
EventMsg = strEventMsg;
}
}
public delegate void StatusChangedEventHandler(object sender, StatusChangedEventArgs e);
class ChatServer
{
public static Hashtable htUsers = new Hashtable(30);
public static Hashtable htConnections = new Hashtable(30);
private IPAddress ipAddress;
private TcpClient tcpClient;
public static event StatusChangedEventHandler StatusChanged;
private static StatusChangedEventArgs e;
public ChatServer(IPAddress address)
{
ipAddress = address;
}
private Thread thrListener;
private TcpListener tlsClient;
bool ServRunning = false;
public static void AddUser(TcpClient tcpUser, string strUsername)
{
(strUsername, tcpUser);
(tcpUser, strUsername);
SendAdminMessage(htConnections[tcpUser] + " 进入了聊天室.....");
}
public static void RemoveUser(TcpClient tcpUser)
{
if (htConnections[tcpUser] != null)
{
SendAdminMessage(htCo
聊天程序 来自淘豆网m.daumloan.com转载请标明出处.