C/S的程序,服务端为webservice,如何控制让前台打开一个窗口,其他用户便无法打开此窗口。 C/S的程序,服务端为webservice,如何控制让前台打开一个窗口,其他用户便无法打开此窗口。本人新手菜鸟,请诸位大神写的详细一些~在此次谢过了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 打开的时候传一个值回去给服务端。然后其他人打开判断这个值是true还是false就行。 public partial class SockUDP : Component { public SockUDP() { InitializeComponent(); } public SockUDP(IContainer container) { container.Add(this); InitializeComponent(); } private int UDP_Server_Port;//定义UDP端口 private System.Threading.Thread thdUdp;//定义线程 private IPEndPoint _Server = new IPEndPoint(IPAddress.Any, 0);//定义节点 //定义组建的代理和事件 public delegate void DataArrivalEventHandler(byte[] Data, IPAddress Ip, int Port); public event DataArrivalEventHandler DataArrival; private UdpClient UDP_Server = new UdpClient(); public delegate void Sock_ErrorEventHandler(string ErrString); public event Sock_ErrorEventHandler Sock_Error; [Browsable(true), Category("Client"), Description("获得对方IP地址与端口号等信息.")] public IPEndPoint Server { get { return _Server; } set { _Server = value; } } //发送UDP数据 public void Send(System.Net.IPAddress Host, int Port, byte[] Data) { try { IPEndPoint server = new IPEndPoint(Host, Port); UDP_Server.Send(Data, Data.Length, server); } catch (Exception e) { if (Sock_Error != null) Sock_Error(e.ToString()); } } //监听端口数据报 public void Listen(int Port) { try { UDP_Server_Port = Port; UDP_Server = new UdpClient(Port); thdUdp = new Thread(new ThreadStart(GetUDPData)); thdUdp.Start();//启动线程 } catch (Exception e) { if (Sock_Error != null) Sock_Error(e.ToString()); } } //获取网络数据 private void GetUDPData() { while (true) { try { byte[] RData = UDP_Server.Receive(ref _Server); if (DataArrival != null) { DataArrival(RData, _Server.Address, _Server.Port); } Thread.Sleep(0); } catch (Exception e) { if (Sock_Error != null) Sock_Error(e.ToString()); } } } //关闭连接 public void CloseSock() { try { UDP_Server.Close(); thdUdp.Abort(); } catch (Exception e) { if (Sock_Error != null) Sock_Error(e.ToString()); } } }} C#2010做的数据库跪求两个so easy的问题 急求winfrom高手 帮我处理一些问题 原型模式[浅表复制?????]不懂....... 小问题 js 怎么调用后台cs中的函数! 给出马上结帖 求c# 帮助手册 ? 读取Excel文件如何判断Cell是被隐藏和被合并了??? C#中的一个转化 参数传递问题!!! win form程序中的问题:如何让程序记住上次运行时的数据,不用数据库,也不写注册表,谢谢! 一个简单的问题,关于登陆窗体的问题 短信猫2次开发C#项目,连接GSM Modem总是连接失败??? aspose.cells导出excel怎么显示为数字格式?
{
public SockUDP()
{
InitializeComponent();
} public SockUDP(IContainer container)
{
container.Add(this); InitializeComponent();
} private int UDP_Server_Port;//定义UDP端口
private System.Threading.Thread thdUdp;//定义线程
private IPEndPoint _Server = new IPEndPoint(IPAddress.Any, 0);//定义节点
//定义组建的代理和事件
public delegate void DataArrivalEventHandler(byte[] Data, IPAddress Ip, int Port);
public event DataArrivalEventHandler DataArrival; private UdpClient UDP_Server = new UdpClient(); public delegate void Sock_ErrorEventHandler(string ErrString);
public event Sock_ErrorEventHandler Sock_Error; [Browsable(true), Category("Client"), Description("获得对方IP地址与端口号等信息.")]
public IPEndPoint Server
{
get { return _Server; }
set { _Server = value; }
} //发送UDP数据
public void Send(System.Net.IPAddress Host, int Port, byte[] Data)
{
try
{
IPEndPoint server = new IPEndPoint(Host, Port);
UDP_Server.Send(Data, Data.Length, server);
}
catch (Exception e)
{
if (Sock_Error != null)
Sock_Error(e.ToString());
}
} //监听端口数据报
public void Listen(int Port)
{
try
{
UDP_Server_Port = Port;
UDP_Server = new UdpClient(Port);
thdUdp = new Thread(new ThreadStart(GetUDPData));
thdUdp.Start();//启动线程
}
catch (Exception e)
{
if (Sock_Error != null)
Sock_Error(e.ToString());
}
}
//获取网络数据
private void GetUDPData()
{
while (true)
{
try
{
byte[] RData = UDP_Server.Receive(ref _Server);
if (DataArrival != null)
{
DataArrival(RData, _Server.Address, _Server.Port);
}
Thread.Sleep(0);
}
catch (Exception e)
{
if (Sock_Error != null)
Sock_Error(e.ToString());
}
}
} //关闭连接
public void CloseSock()
{
try
{
UDP_Server.Close();
thdUdp.Abort();
}
catch (Exception e)
{
if (Sock_Error != null)
Sock_Error(e.ToString());
}
}
}
}