IM服务器:一个使用imserver服务器进行聊天的web端案例_一只会铲史的猫的博客-程序员信息网_im服务器

技术标签: im  即时通信  websocket  前端  服务器  

该案例中包含一个基于web网页的前端程序,该案例会使用websocket与IM服务器(imserver)进行通信。

一、环境准备

1、下载 “imserver网页调用案例”,并解压到指定目录。
2、进入“web/js”目录中,使用文本编辑器打开“main.js”文件。
修改websocket的连接地址,该地址是IM服务器的地址。
如下图:

注意:IP地址不要填写127.0.0.1,填写ipcoinfg中配置的ip地址。

二、运行服务

1、启动web服务器
双击解压目录中的 HttpServer.exe 程序。

这是一个高性能的web服务器,详情见文章《HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器》。

启动后目录中web中网页将会发布,默认主页是web目录中的user.html,默认端口是80(可通过配置文件HttpServer.ini进行修改)。

2、启动IM服务器
下载目录
下载该目录中的 imserver.exe 到指定目录中,双击运行即可。

IM服务器的详情见文章《IM服务器:我的千万级即时通信服务器集群

三、IM聊天

打开浏览器,输入HttpServer运行所在机器的IP地址,出现如下网页:

每个用户都有一个uid,以及当前所在的组id。

点击用户后,组成员之间可群聊。如下图,老师和学生一进行群聊。

写在最后:由于我不会写web程序,该案例是让人帮忙代写,比较仓促,只是为了展示如何利用imserver开发web端的聊天程序,与imserver的通信逻辑都在main.js中,比较简单。
感谢您的阅读!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lgsoftlee/article/details/122176631

智能推荐

Windows本地搜索_输微的博客-程序员信息网

搜索文件名可以使用 Everything ,效率比Windows的文件搜索要快一万倍搜索多个二进制文件的内容比如要搜索多个Excel文件、多个Word文件可以先将这些文件置于一个文件夹内,然后使用Windows自身的搜索就可以了...

程序员如何不断提高自己?_wayne_ren的博客-程序员信息网

[color=red][b]没有超人,关注该关注的即可![/b][/color](一)如果遇到问题,先Google一下 [url=https://www.google.com/]https://www.google.com/[/url],或者Bing [url=https://www.bing.com/]https://www.bing.com/[/url]解决问题的顺序:查看日志...

mongoDB数据库设置账号密码验证_只不过碎银几两的博客-程序员信息网_mongo开启密码验证

一般默认安装mongoDB到电脑的时候,默认数据库是没有设置管理员账号密码的。所以为了安全问题,必须需要设置一下以系统管理员的方式运行powershell连接数据库 mongomongo查看数据库 show dbsshow dbs切换到admin数据库 use admin创建超级管理员账户 db.createUser()use admindb.createUser({ user:"设置管理员账号", pwd:"设置管理员密码", roles:["root"] })

windows上安装jdk1.8_qq_31622471的博客-程序员信息网

来自《JAVA学习路线图》一、下载地址1、oracle下载地址2、百度网盘下载提取码:bs1u二、安装步骤1、安装目录建议安装在C盘默认目录默认选项安装,也可以按照自己的需求选择安装2、安装完成三、设置环境变量(win10为例)1、JAVA_HOME(1)在电脑桌面 右键点击 “此电脑”的“属性”选项(2)选择“高级系统设置”选项,点击下面的“环境变量”选项...

这特么是啥系列之----webx学习笔记_start_lie的博客-程序员信息网

<listener>  <listener-class>com.test.citrus.webx.context.WebxContextLoaderListener</listener-class></listener>该监听器实现了spring的ContextLoaderListener来负责在启动的时候加载Webx环境的public cla...

Spring源码剖析5:JDK和cglib动态代理原理详解_黄小斜的博客-程序员信息网

AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理。转自https://www.jianshu.com/u/668d0795a95b本文是基于jdk1.8来对动态代理的底层机制进行探究的Java中代理的实现一般分为三种:JDK静态代理、JDK动态代理以及CGLIB...

随便推点

统计文件字数,并按出现次数打印结果_侠之大者为国为民的博客-程序员信息网

#!/usr/bin/env python3# coding=utf-8import stringdic={}with open("test.txt","r") as f: txt = f.read()number= [str(n) for n in range(10)]alpha = list(string.ascii_letters)dot = list("\\\t

oracle数据库是db还是dbnms,Oracle数据库日常管理手册_项目现场篇(13页)-原创力文档..._特殊后勤小干事的博客-程序员信息网

Oracle数据库日常管理 _ 项目现场篇修改: 2010/2/8查看所有的实例及其后台进程是否正常确认所有的instance工作正常,登陆到所有的数据库或instance上,检测oracle后台进程GDDB4-/export/home/oracle> env | grep SIDORACLE_SID=UWNMS3GDDB4-/export/home/oracle> ps -ef|gr...

Android使用Handler实现子线程与子线程、子线程与主线程之间通信_梵韵的博客-程序员信息网_android handler 子线程

转载:https://blog.csdn.net/shaoenxiao/article/details/54561753今天这篇文章只讲一下怎么使用Handler实现子线程与子线程之间、子线程与主线程之间如何进行通信,关于具体的内部实现因为我也没研究过,所以这篇文章讲不了。一、子线程向主线程传值:这个实现比较简单,因为主线程自带Looper机制,所有我们不用创建Looper了,看一下代码吧:首选在...

React-native 中因为计时器导致的异常解决办法_镰刀出海的博客-程序员信息网

很多React Native应用发生致命错误(闪退)是与计时器有关。在某个组件被卸载(unmount)之后,计时器却仍然被激活。为了解决这个问题,需要在组件中引入TimerMixin,就可以把你原本的setTimeout(fn, 500)改为this.setTimeout(fn, 500)(只需要在前面加上this.),然后当你的组件卸载时,所有的计时器事件也会被正确的清除。这个库并没

小程序里如何使页面自动滚动到底部_wgcc的博客-程序员信息网

在更新数据后,以及初次进入页面,希望页面停留在最底部// 获取容器高度,使页面滚动到容器底部 pageScrollToBottom: function() { wx.createSelectorQuery().select('#j_page').boundingClientRect(function(rect){ // 使页面滚动到底部 wx.pageScr...

zabbix监控主动模式、被动模式、添加监控主机、添加自定义模板、处理图形乱码、自动发现..._chundi5250的博客-程序员信息网

19.7 主动模式和被动模式 主动模式和被动模式所针对的对象是客户端,意思是客户端主动向服务端上报数据和由服务端到客户端采集数据。数据的提交时间在监控中心设置。 配置建议 采用主动模式可以减轻服务器的压力。 当服务端有公网IP,客户端只有内网IP但是可以连接外网(使用iptables...

推荐文章

热门文章

相关标签