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消息发送组件,而这种组件是构建高性能 ...
随机推荐
- Java多线程系列 面试题
1. https://blog.csdn.net/jjj19891128/article/details/24393661 多线程经典面试题 2. https://blog.csdn.net/ll6 ...
- spring项目命名
groupId 一般分为多个段,最简单的分两段,第一段为域,第二段为公司名称.域又分为org.com.cn等等许多, 举个apache公司的tomcat项目例子:这个项目的groupId是org.ap ...
- 第二十一篇 socket
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 socket和file的 ...
- Shell中的 >/dev/null 2>&1
默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: 1 ...
- HTML5坦克大战1
在JavaScript中,不要在变量为定义之前去使用,这样很难察觉并且无法运行. 颜色不对. 当我的坦克移动时,敌人坦克消失. tankGame3.html <!DOCTYPE html> ...
- Delphi Stringlist Delimiter如何区分TAB和空格
var st: TStrings; begin st := TStringList.Create; st.StrictDelimiter := True;//这个多少人用过? st.Delimiter ...
- node.js+express+jade系列三:404错误的配置
1:新建一个404.jade 2:在app.js后面配置如下代码 app.use(function(req, res){ res.render("404", {sta ...
- hibernate 框架搭建
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...
- 纯css实现3D字体
下面分别是html,css和js代码: <div class="wrapper"> <h1 contenteditable data-heading=" ...
- linux命令学习笔记(3):pwd命令
Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时, 你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置 ...