JAVA实现服务器和多用户跨平台的通讯

仿微信 java IM即时通讯 | uni-app IM即时通讯 | vue IM即时通讯桌面端 | 源码出售 uniapp IM 即时通讯 源码 私有云服务、无第三方服务,方便二开 可支持数十万并发连接、数据加密传输 一套代码 支持 Android, IOS, h5 IM 即时通讯 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> ---- 随着网络技术的发展,我们的局域网越做越大,里面的服务器客户机数量也很多。在为我们提供了诸多便利的同时,我们发现,由于服务器和客户机的操作平台不同,它们之间的通信是一个麻烦的问题,因为很多现成的通信软件或者源程序都是针对同一平台的。为了解决这个问题,我们采用JAVA编程,成功的实现了LINUX,WINDOWS NT,WIN98跨平台的通讯。 ---- 服务器程序源代码如下: //server.java import java.io.*; import sun.net.*; class server extends NetworkServer //定义服务器类 {DataInputStream net_input; //定义数据输出 PrintStream net_output; //定义数据输入 public static void main(String args[]) { new server();} public server() //运行服务器功能,并把端口设为1111 { try {startServer(1111);} catch (Exception e) { System.out.println( "Unable to start server."); return; } System.out.println("Waiting for clients..."); } public void serviceRequest() //定义服务应答功能 { net_input = new DataInputStream(clientInput); net_output = System.out; String user = read_net_input(); System.out.println(user " connected!"); while(true) { String string; if((string=read_net_input( ))==null) break; //如果客户机输入NULL,中断服务 write_net_output(user ":" string); } System.out.println(user " has disconnected!"); } String read_net_input() { try {return net_input.readLine();} catch(IOException e) {return null;} } void write_net_output(String string) { net_output.println(string); net_output.flush(); } } 客户机程序源代码: //client.java import java.io.*; import sun.net.*; class client extends NetworkClient //定义客户机类 { DataInputStream net_input; PrintStream net_output; public static void main(String args[])//获得服务器IP地址和客户机名 { if(args.length<2) { System.out.println( "To run,type:/n"); System.out.println( "java client "); } System.out.println( "Connecting..."); try {new client(args[0],args[1]);} catch (Exception e) { System.out.println( "Unable to create NetworkClient."); return; } } public client (String host,String username) throws IOException //与服务器链接功能 { super(host,1111); if(serverIsOpen()) { System.out.println( "Connected to server."); net_input = new DataInputStream(System.in); net_output = serverOutput; net_output.println(username); chat(); } else System.out.println("Error:Could not connect to server."); } void chat() //定义信息传递函数,当输入EXIT时,中断链接 { String string; System.out.println( "Type EXIT to exit"); while(true) { string=read_net_input(); if(string.equalsIgnoreCase("EXIT")) break; write_net_output(string); } System.out.println("Disconnecting..."); close_server(); System.out.println("Done!"); } String read_net_input() { try {return net_input.readLine();} catch(IOException e) {return null;} } void write_net_output(String string) { net_output.println(string); net_output.flush(); } void close_server() { try {closeServer();} catch(Exception e) {System.out.println("Unable to close server.");} } } ----   把两个源程序输入后,在任一操作平台上运行javac server.java和javac client.java,分别把它们编译成class文件。由于java的class文件的跨平台性,只要在服务器上运行相应的java解析程序执行server,在客户机上运行相应的java解析程序执行client ,就能实现客户机和服务器之间的通讯了,而且服务器允许多用户接入。以笔者学校的局域网为例,源程序在WIN98平台上用JDK 1.1.5编译成功,把server.class拷到一台LINUX服务器上,执行java server(该服务器已经安装了JAVA的RPM包),在其他WINNT平台上拷入client.class,运行jview client 192.168.100.1 NT(192.168.100.1是LINUX服务器的IP地址),就能实现跨平台通讯了。
立即使用:Openfire即时通讯服务器无安装版 本文还有配套的精品资源,点击获取 简介:Openfire是一款基于Java的开源即时通讯服务器,支持跨平台使用、XMPP协议、SSL/TLS加密可扩展的插件系统。无安装版简化了部署流程,仅需下载可执行jar文件并进行基础配置即可启动使用。该软件适合需要自建内部通讯系统的组织,提供了用户管理、群组聊天、状态显示丰富的API接口支持。通过其直观的Web管理界面插件生态,O... 阅读详情

相关推荐

基于Java多用户实时聊天室程序设计与实现

Java凭借其跨平台特性与丰富的网络API,在分布式通信系统开发中占据重要地位。本章从整体架构视角出发,介绍基于Socket的Java聊天室程序设计背景,涵盖网络编程核心概念、C/S模型的适用性及系统功能需求。重点解析TCP/IP协议栈、多线程处理、IO流控制与Swing图形界面等关键技术点,阐明Java实现高可靠性即时通信中的优势。同时,对比Eclipse与IntelliJ IDEA开发环境,并强调Git在项目版本管理中的工程化价值,为后续章节的技术实现奠定理论与实践基础。

weixin_34535286的博客 1053

Apache Vysper:搭建高效即时通讯的利器

Apache Vysper:搭建高效即时通讯的利器 在当今快节奏的数字化时代,即时通讯已经成为人们生活中不可或缺的一部分。对于开发者而言,选择一个稳定、灵活且支持标准协议的即时通讯解决方案至关重要。Apache Vysper正是这样一款专注于实现XMPP协议的开源服务器项目,它不仅拥有着坚实的背景——由Apache软件基金会支持,而且旨在提供一种高效的通信基础设施,使构建安全、可扩展的即时通讯应用...

gitblog_00991的博客 575

Java与Flex开发XMPP即时通讯应用实例

XMPP(Extensible Messaging and Presence Protocol)是一种开放源代码的即时通讯协议,最初由Jabber社区开发。XMPP协议具有以下特点:开放性:XMPP是基于XML格式的消息交换协议,它采用客户端-服务器架构,所有的消息数据传输都遵循开放的XML格式。可扩展性:通过使用XML命名空间扩展机制,XMPP能够灵活地添加新的功能,而不影响现有系统的兼容性。跨平台性。

weixin_33670640的博客 1132

Java即时通讯应用开发实战:打造QQ聊天系统

在当今的数字时代,即时通讯已经成为我们日常生活中不可或缺的一部分,它的便捷性改变了人们的交流方式。Java作为一种成熟且广泛使用的编程语言,被众多开发者用于构建稳定且高效的即时通讯应用。本章将探讨在Java环境下开发即时通讯应用的总体框架与核心概念,为接下来的章节打下基础。

weixin_28850145的博客 1047

JAVA 即时通讯工具的设计与开发(论文+源码)_Nueve

伴随着当今互联网迅速发展,网上通讯成为一种必不可少的通讯习惯,该系统的设计就是为了实现在互联网上的即时通讯,它是利用当今最为流行的java编程语言来实现即时通讯工具的雏形,同时在系统开发过程中所用的都是java常用的技术或者难点,比如用java的swing怎么去做一个界面美观的应用程序、java的网络编程技术的原理与应用、以及如何根据J2EE规范去开发一个基于JspServlet的Web应用等关键技术。而后者是以数据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。

weixin_69071556的博客 1154

WebSocket实现Android客户端之间的简单通讯

作为一个刚毕业的程序猴,自觉的自己能力比较欠缺,正好最近公司没有什么项目,就考虑自己动手做个项目。想来想去,就把自己一直想做的即时通讯拿出来做做。可是问题来了,作为一个Android开发人员,一直没有接触后台的人来说,做一个完整的项目还是比较麻烦的。于是只有边学边做了。 对于通讯来说,我对Websocket情有独钟,可能是因为在学校的时候听说过吧。话不多说,经过几天的调研,终于在搭了一个简单

renjianhhong的博客 1716

java客服im_Java IM 即时通讯 | 盘古歌技术 | uni-app 即时通讯 源码出售 chat

即时通讯知识小科普什么是即时通信(即时通讯)即时通信(即时通讯)是指互联网上用以进行实时通讯的系统服务,其允许多人使用即时通信(即时通讯)软件实时的传递文字信息、文档、语音以及视频等信息流。随着软件技术的不断提升以及相关网络配套设施的完善,即时通信(即时通讯)软件的功能也日益丰富,除了基本通讯功能以外,逐渐集成了电子邮件、博客、音乐、电视、游戏搜索等多种功能,而这些功能也促使即时通信(即时通讯)...

weixin_32282271的博客 665

音视频业务服务器java Web部署流程图解及验证

AnyChat,跨平台的音视频解决方案。之前有个项目需要用到音视频技术,百度搜索音视频解决方案了解到AnyChat。是一家专门做网络语音视频实时交互的平台。他们的官方网站是:http://www.anychat.cn.最新版本java业务服务器支持部署在Windows,Linux两个平台上。AnyChat Platform Core SDK提供了最新版本的示例程序源代码(使用Git工具下载)。

Bovi_L的专栏 2740

C#毕业设计——基于C#+asp.net+sqlserver的即时通讯软件设计与实现(毕业论文+程序源码)——即时通讯软件

大家好,今天给大家介绍基于C#+asp.net+sqlserver的即时通讯软件设计与实现,文章末尾附有本毕业设计的论文源码下载地址哦。文章目录: 项目难度:中等难度 适用场景:相关题目的毕业设计 配套论文字数:11073个字32页 包含内容:整套源码+完整毕业论文 资源文件目录简图如下: 提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。1 引言 1.1 课题背景 即时通信是一个终端连往一个即时通信网路的服务。即时通信不同于e-mail在于它的交谈是实时的。大部分的即时通信服务提供

m0_66238867的博客 5869

Windows平台下ejabberd即时通讯服务器安装与配置实战

经过这一整套配置下来,你会发现,ejabberd不只是一个“能跑起来”的IM服务器,而是一个高度可塑的企业通信中枢。它真正的魅力在于:✅稳定性:基于Erlang的软实时架构,7×24小时不中断✅可扩展性:支持分布式部署,横向扩容无压力✅安全性:全链路TLS加密 + 细粒度权限控制✅灵活性:模块化设计,API/Webhooks无缝集成第三方系统🚀 所以,无论你是要做:- 企业内部协作平台- 客服对话系统。

weixin_42511832的博客 715

Java全栈实战:模拟实现QQ聊天系统项目

Java凭借其跨平台特性、丰富的网络编程API强大的面向对象机制,成为开发即时通讯系统的理想选择。本章围绕基于Java的QQ聊天系统模拟实现,阐述如何利用Socket网络通信、多线程并发处理与Swing图形界面技术构建一个C/S架构的轻量级聊天应用。系统核心功能涵盖用户登录认证、实时消息传输、在线状态同步及图形化交互界面,采用TCP协议保障通信可靠性,并通过面向对象设计思想将客户端、服务器、用户会话等模块解耦封装。

weixin_34438187的博客 1264

网络代理服务器的设计与实现

功能需求 实现一个简易的 proxy 程序。proxy 程序的功能:能够做“二传手”的工作。它自身处在能同时连通外界目标服务器我的机器的位置上。我的机器把请求发送给它,它接受请求,把请求原封不动的抄下来发送给外界目标服务器;外界目标服务器响应了请求,把回答发送给它,它再接受回答,把回答原封不动的抄下来发送给我的机器。这样,我的机器实际上是把它当作了目标服务器(由于是原封不动的转抄,请求回答没有被修改)。而它则是外界目标服务器的客户端。 相关知识 SOCKS5 是一个代理协议,它在使用 TCP/IP

毕业作品网站 1987

即时通讯体验:JabberMixClient客户端实战指南

本文还有配套的精品资源,点击获取 简介:JabberMixClient 是一款支持即时通讯消息传递的客户端软件,采用XMPP(Jabber协议),为用户提供实时通信解决方案。该软件包含两个核心组件相关文档,以及通过.jad文件提供配置信息,通过.jar文件实现客户端的主要功能。用户可以通过支持Java的设备安装运行JabberMixClient,并利用其提供的多用户聊...

weixin_36064575的博客 1114

C#毕业设计下载(全套源码+配套论文)——基于C#+asp.net+sqlserver的即时通讯软件设计与实现

即时通信(Instant Message),由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一个可移植的TCP/IP通信程序。使信息能够在INTERNET上可靠的传输。

m0_66238867的博客 1102

开发社交应用的利器——Ejabberd 一瞥

Erlang在社交应用中的地位突显,自己搭一个大容量高并发的IM服务器变得不那么遥不可及了。Ejabberd 正是这样一个不错的选择,至少是一个很棒的参考。对于一个4核16G内存的服务器,单个Ejabberd节点可以支持30万的IM用户......

我相信...... 6460

探索智能编程新体验:SmartIM4Eclipse - 一个集成聊天协作工具

探索智能编程新体验:SmartIM4Eclipse - 一个集成聊天协作工具 是一款专为Eclipse IDE开发的插件,它将即时通讯功能无缝集成到你的开发环境中,让团队协作变得更加便捷高效。 项目简介 SmartIM4Eclipse 的核心目标是提升开发者之间的沟通效率,尤其是在进行协同开发时。通过在 Eclipse 中嵌入一个轻量级的聊天窗口,你可以直接与团队成员分享代码、讨论问题,而无需离...

gitblog_00012的博客 524

中小企业出海上云:一次服务器选型踩坑记录

这次踩坑的本质,是用单机思维运营海外业务:区域凭地理直觉,弹性当临时动作,规格只看计算资源,安全与售后留到出事后才想。迁移执行:数据迁移走全量导出、增量同步、短停切换三步,先全量逻辑导出导入并核对行数与关键字段,再追增量,两边延迟归零后选低谷窗口把源库置为只读,完成末次增量并切换写流量。两条链路都不稳定,说明问题不在个别运营商,而在区域选址本身。2026 年上半年开始做周期性促销,并接入当地支付网关的订单回传后,流量结构与调用链都变了,单机方案开始连续出问题,于是有了这次从排查、重新选型到迁移落地的记录。

2601_94912732的博客 358
上一篇: Java数据库编程中查询结果的表格式输出
下一篇: Sun JAVA 认证介绍
java169
博客等级 码龄18年 27粉丝 2568原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值