佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 基于HTML5的WebSocket的實例代碼

基于HTML5的WebSocket的實例代碼

熱門標(biāo)簽:美圖手機 網(wǎng)站建設(shè) 智能手機 百度競價點擊價格的計算公式 檢查注冊表項 阿里云 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng)

基于HTML5的WebSocket的實例代碼

客戶端代碼:

<html>
<head>
<script>
var socket;
if ("WebSocket" in window) {
var ws = new WebSocket("ws://127.0.0.1:8181");
socket = ws;
ws.onopen = function() {
console.log('連接成功');
};
ws.onmessage = function(evt) {
var received_msg = evt.data; 
document.getElementById("showMes").value+=evt.data+"\n";
};
ws.onclose = function() {
alert("斷開了連接");
};
} else {
alert("瀏覽器不支持WebSocket");
}
function login(){
var message=document.getElementById("name").value+":"+document.getElementById("mes").value;
socket.send(message);
}
</script>
</head>
<body>
<textarea rows="3" cols="30" id="showMes" style="width:300px;height:500px;"></textarea>
<br/>
<label>名稱</label>
<input type="text" id="name"/>
<br/>
<label>消息</label>
<input type="text" id="mes"/>
<button onclick="login();">發(fā)送</button>
</body>
</html>

winform服務(wù)端代碼:

注:需先引入Fleck包

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Fleck;
namespace socketService
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
private void Form1_Load(object sender, EventArgs e)
{
//保存所有連接
var allSockets = new List<IWebSocketConnection>();
//初始化服務(wù)端
var server = new WebSocketServer("ws://0.0.0.0:8181");
//開始監(jiān)聽
server.Start(socket =>
{
//有客戶端連接觸發(fā)
socket.OnOpen = () =>
{
textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 連接 \r\n";
allSockets.Add(socket);
};
//有客戶端斷開觸發(fā)
socket.OnClose = () =>
{
textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 斷開連接 \r\n";
allSockets.Remove(socket);
};
//接收客戶端發(fā)送的消息
socket.OnMessage = message =>
{
textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 發(fā)送了消息:" + message + "\r\n";
//發(fā)送接收到的消息給所有客戶端
allSockets.ToList().ForEach(s => s.Send(message));
};
});
}
}
}

總結(jié)

以上所述是小編給大家介紹的基于HTML5的WebSocket的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:湘潭 通遼 懷化 煙臺 黃山 山南 賀州 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于HTML5的WebSocket的實例代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    顺昌县| 云南省| 漯河市| 桃江县| 娄烦县| 台南市| 河北省| 临潭县| 溆浦县| 宁国市| 香河县| 宜都市| 友谊县| 临洮县| 宁蒗| 新巴尔虎右旗| 虎林市| 崇信县| 吉安县| 福贡县| 临沧市| 历史| 山东| 乐都县| 忻州市| 漠河县| 文成县| 平乡县| 新竹市| 乡城县| 开原市| 阿克苏市| 通渭县| 无锡市| 成都市| 嵩明县| 浑源县| 永定县| 平邑县| 西吉县| 洛南县|