广告位 后台主题配置管理 |
广告位 后台主题配置管理 |
本篇文章给大家谈谈asp.netsocket服务器,以及net websocket服务端对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
如果是单纯的C/S软件,可以做到一个Server处理多个客户端之间的通信。
但是你说是Web版的,也可以实现,但是,你需要使用WCF,Host在IIS上。
client
int port = 8080;
string host = "192.168.1.206";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket
Response.Write("Conneting...\n");
c.Connect(ipe);//连接到服务器
string sendStr = " hello!This is a socket test ";
byte[] bs = Encoding.ASCII.GetBytes(sendStr);
c.Send(bs, bs.Length, 0);//发送测试信息
string recvStr = "Send Message ";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
Response.Write("Client Get Message:" + recvStr );//显示服务器返回信息
c.Close();
server
string portNo = ConfigurationManager.AppSettings["PortNo"];
IPAddress ServerIp = GetServerIP();
IPEndPoint iep = new IPEndPoint(ServerIp, int.Parse(portNo));
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
byte[] byteMessage = new byte[100];
try
{
socket.Bind(iep);
}
catch (Exception ex)
{
throw ex;
}
while (flag)
{
try
{
socket.Listen(1);
Socket newSocket = socket.Accept();
newSocket.Receive(byteMessage);
string sTime = DateTime.Now.ToShortTimeString();
string msg = sTime + ":" + "Message from:";
msg += newSocket.RemoteEndPoint.ToString() + Encoding.Default.GetString(byteMessage);
byte[] bs = Encoding.ASCII.GetBytes(msg);
newSocket.Send(bs);
}
catch (SocketException ex)
{
throw ex;
}
}
肯定可以, 直接建立socket client 就可以了。
static int listenport = 1704;
Socket clientsocket;
ArrayList clients;
Thread clientservice;
Thread threadListen;
应用程序连接池会在没有数据处理的时候,自动回收。所以在IIS上开一个常开SOKET是不靠谱的做法。如果必须要,应该包含重启动机制,最好是页面触发。不然是没有再触发的可能的,除非包含定时重启功能。
asp.netsocket服务器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于net websocket服务端、asp.netsocket服务器的信息别忘了在本站进行查找喔。
广告位 后台主题配置管理 |
广告位 后台主题配置管理 |