自定义事件的使用例程
这段程序运用一个sever类设计一个聊天室:
//此类为服务器类-用于与客户端的通信,其中构造了几个自定义事件
using System;using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace sockchat
{
public delegate void EventServerStartHandler(EventServerStartArgs e); //声明代理
public delegate void EventClientContextHandler(EventClientContextArgs e);
public class EventClientContextArgs //构造自定义事件类
{
public string IP;
public EventClientContextArgs(string _ip)
{
IP = _ip;
}
}
public class EventServerStartArgs :EventArgs
{
public string returnstring;
public EventServerStartArgs()
{
returnstring = "服务器已启动";
}
}
public class server
{
public event EventServerStartHandler SStartEvent;
public event EventClientContextHandler CcontextEvent;
private TcpListener tcpserver;
private Thread thread;
private int _port;
private Socket socket;
public int port
{
get
{
return _port;
}
}
public server(int c_port)
{
_port = c_port;
tcpserver = new TcpListener(_port);
thread = null;
}