socket消息发送
expressClient.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="./js/jquery-1.3.1.min.js"></script>
<script src="./js/socket.io.js"></script>
<!-- 引入 Bootstrap -->
<link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
var iosocket=null;
$(function(){
iosocket = io.connect('http://localhost:9000/');
alert(iosocket);
iosocket.on('connect', function () {
iosocket.on('message', function(message) {
//alert('服务器传来:'+message);
myform.content.value += message;
myform.content.value += '<br/>';
});
iosocket.on('disconnect', function() {
alert('和服务器失去连接');
});
})
});
function say(){
var msg = myform.saytext.value;
iosocket.send(msg);
}
</script>
</head>
<body>
<form name='myform' style="margin-left:300px; margin-top:100px">
<!-- 导航栏 -->
<nav class="navbar navbar-default" role="navigation" style="width:730px">
<div class="container-fluid" >
<div class="navbar-header" >
<a class="navbar-brand" href="#" style="margin-left:300px">消息页面</a>
</div>
</div>
</nav>
<!-- 输入栏 -->
<textarea name='content' cols="100" rows="10" style="background-color:#dddddd;" disabled="disabled"></textarea><br/>
<!-- <input type='text' name='saytext' style="margin-top:40px"/> -->
<div style="margin-top:40px;margin-left:100px">
<div class="input-group">
<div style="width:400px">
<input type="text" name='saytext' class="form-control" placeholder="请输入消息"/>
</div>
<div style="margin-left:400px">
<button type="button" class="btn btn-success" value='say' onclick='say()'>发送</button>
</div>
</div>
</div>
<!-- <input type='button' value='say' onclick='say()'/> -->
</form>
</body>
</html>
expressSocketSever.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var fs= require('fs');
app.get('/', function(req, res){
fs.readFile('./expressClient.html', function(err, data) {
if(err) {
recall('文件不存在');
}else{
res.send(data.toString());
}
});
});
app.get('/js/jquery-1.3.1.min.js', function(req, res){
fs.readFile('./js/jquery-1.3.1.min.js', function(err, data) {
if(err) {
recall('文件不存在');
}else{
res.send(data.toString());
}
});
});
app.get('/js/socket.io.js', function(req, res){
fs.readFile('./js/socket.io.js', function(err, data) {
if(err) {
recall('文件不存在');
}else{
res.send(data.toString());
}
});
});
//----------Socket服务------------------------------
var ii=0;
var channel={};
io.on('connection', function(socket){
console.log('有人连上来了');
socket.ii=++ii;
channel[ii]=socket;
//监听新用户加入
socket.on('login', function(obj){
console.log(obj);
});
socket.on('disconnect', function(){
console.log(socket.ii+'离开了');
});
//监听用户发布聊天内容
socket.on('message', function(obj){
console.log(obj);
//socket.send(ii+'说:'+obj);
for(var key in channel){
channel[key].send(socket.ii+'说:'+obj);
}
});
})
//--------------------------------------------------
http.listen(9000, function(){
console.log('listening on *:9000');
});
socket消息发送的更多相关文章
- ZeroMQ接口函数之 :zmq_send – 在一个socket上发送一个消息帧
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-send zmq_send(3) ØMQ Manual - ØMQ/4.1.0 Name ...
- ZeroMQ接口函数之 :zmq_sendmsg – 从一个socket上发送一个消息帧
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-sendmsg zmq_sendmsg(3) ØMQ Manual - ØMQ/4.1.0 Name ...
- C# Socket异步实现消息发送--附带源码
前言 看了一百遍,不如动手写一遍. Socket这块使用不是特别熟悉,之前实现是公司有对应源码改改能用. 但是不理解实现的过程和步骤,然后最近有时间自己写个demo实现看看,熟悉熟悉Socket. 网 ...
- ZeroMQ接口函数之 :zmq_send_const – 从一个socket上发送一个固定内存数据
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...
- twitter storm源码走读之2 -- tuple消息发送场景分析
欢迎转载,转载请注明出处源自徽沪一郎.本文尝试分析tuple发送时的具体细节,本博的另一篇文章<bolt消息传递路径之源码解读>主要从消息接收方面来阐述问题,两篇文章互为补充. worke ...
- 高效的TCP消息发送组件
目前的.net 架构下缺乏高效的TCP消息发送组件,而这种组件是构建高性能分布式应用所必需的.为此我结合多年的底层开发经验开发了一个.net 下的高效TCP消息发送组件.这个组件在异步发送时可以达到每 ...
- ActionScript接收socket服务器发送来的数据
原文地址:http://www.asp119.com/news/2009522181815_1.htm 从socket中接收数据的方法取决于你使用socket类型,Socket和XMLSocket都可 ...
- ActiveMQ(2)---ActiveMQ原理分析之消息发送
持久化消息和非持久化消息的发送策略 消息同步发送和异步发送 ActiveMQ支持同步.异步两种发送模式将消息发送到broker上.同步发送过程中,发送者发送一条消息会阻塞直到broker反馈一个确认消 ...
- NTCPMSG 开源高性能TCP消息发送组件
https://www.cnblogs.com/eaglet/archive/2013/01/07/2849010.html 目前的.net 架构下缺乏高效的TCP消息发送组件,而这种组件是构建高性能 ...
随机推荐
- virtualbox 桥接 (转)
virtualbox 自带的网络配置模式要么选择host-only,要么bridge,对于经常使用virtualbox的同学一定想要像vmware一样的nat配置,既可以让host访问guest,又可 ...
- HDU 5869 Different GCD Subarray Query(2016大连网络赛 B 树状数组+技巧)
还是想不到,真的觉得难,思路太巧妙 题意:给你一串数和一些区间,对于每个区间求出区间内每段连续值的不同gcd个数(该区间任一点可做起点,此点及之后的点都可做终点) 首先我们可以知道每次添加一个值时gc ...
- java备份和恢复数据代码例子
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...
- 三 Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性
Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRe ...
- Android基于socket的群聊程序
在网上看了好多,但是感觉不是太简单就是只能单独聊,所以就自己写了个可以群聊的,直接上代码了 一.服务器端 这里用的MyEclipse作为服务器端 MyServerScoket.java package ...
- 【leetcode刷题笔记】Best Time to Buy and Sell Stock III
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- 【leetcode刷题笔记】Search a 2D Matrix
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- opensource mcu
1 OpenVCS - Open Source Video Conferencing Server it is used as Multipoint Control Unit (MCU) manage ...
- NYOJ-括号配对问题--------待解决,RE
描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的 ...
- 1030 Travel Plan (30)(30 分)
A traveler's map gives the distances between cities along the highways, together with the cost of ea ...