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消息发送组件,而这种组件是构建高性能 ...
随机推荐
- Kindeditor 编辑区样式结构
ke-container ke-toolbar ke-edit ke-edit-iframe ke-edit-area ke-statusbar
- 3.11课·········C#类
String类:.Length 字符的长度,返回一个int类型的值 .Trim() 去掉开头以及结尾的空格.TrimStart() 去掉字符串开头的空格.TrimEnd() 去掉字符串后面的空格 .T ...
- 【leetcode刷题笔记】Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
- python 3 json 序列化
python 3 json 序列化 我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特 ...
- python 3 面向过程编程
python 3 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就像设计好一条工业流水线,是一种机械式的思维方式. 1.优点:程序结构清晰,可以把复杂的问题简单化,流程 ...
- python第四篇:linux命令行总结 + 自动备份Python程序
由于最近需要学习Python爬虫相关的知识,所以就先从Python基础.Linux基础开始进行了学习,下面主要是总结了常见的Linux的命令行.最后为了巩固学到的东西,尝试写了个自动备份的Python ...
- node.js+express+jade系列二:rotue路由的配置
页面的访问最常见的是get和post两种,无论是get请求还是post请求express自动判断执行app.get或app.post 1:app.get(名称,路径)或app["get&qu ...
- appium界面元素介绍
一.主窗口 主页面顶部从左到右依次是: AndroidSettings:android相关的设置 GeneralSettings:全局设置,设置appium相关的内容 DeveloperSetting ...
- Java_注解_00_资源贴
1.Java注解教程:自定义注解示例,利用反射进行解析 2. (1)深入理解Java:注解(Annotation)基本概念 (2)深入理解Java:注解(Annotation)自定义注解入门 (3)深 ...
- codeforces 622D D. Optimal Number Permutation(找规律)
D. Optimal Number Permutation time limit per test 1 second memory limit per test 256 megabytes input ...