C#(SuperWebSocket)与websocket通信
客户端代码
点击可以查看一些关于websocket的介绍
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="button" id="send" οnclick="send()" value="发送">
<input type="text" id="message">
<script type="text/javascript">
var wsClient=new WebSocket( 'ws://localhost:40001');
wsClient.open=function(e){
console.log("Connected!");
}
wsClient.onclose=function(e){
console.log("Disconnected!");
}
wsClient.onmessage=function(e){
console.log("接收消息:"+e.data);
}
wsClient.οnerrοr=function(e){
console.log(e.data);
}
function send(){
var oText=document.getElementById("message");
wsClient.send(oText.value);
}
</script>
</body>
</html>
服务器端代码
SuperWebSocket 继承了Socket框架SuperSocket,是一个WebSocket服务器的网络实现。
class Program
{
static void Main(string[] args)
{
WebSocketServer server = new WebSocketServer();
server.NewSessionConnected += server_NewSessionConnected;
server.NewMessageReceived += server_NewMessageReceived;
server.SessionClosed += server_SessionClosed;
try
{
server.Setup("127.0.0.1", 40001);//设置端口
server.Start();//开启监听
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
static void server_SessionClosed(WebSocketSession session, SuperSocket.SocketBase.CloseReason value)
{
Console.WriteLine(session.Origin);
}
static void server_NewMessageReceived(WebSocketSession session, string value)
{
Console.WriteLine(value);
session.Send(value);
}
static void server_NewSessionConnected(WebSocketSession session)
{
Console.WriteLine(session.Origin);
}
}