「java通信方面」JAVA网络通信
今天给各位分享java通信方面的知识,其中也会对JAVA网络通信进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java Socket通信原理
- 2、通信系统都用到java里的什么技术啊?
- 3、Java做通信项目,能用到哪些技术?
- 4、JAVA的主要应用领域是什么?
- 5、JAVA如何多线程通信
- 6、JAVA线程间通信的几种方式
java Socket通信原理
具体如下:
首先socket 通信是基于TCP/IP 网络层上的一种传送方式,我们通常把TCP和UDP称为传输层。其中UDP是一种面向无连接的传输层协议。UDP不关心对端是否真正收到了传送过去的数据。
如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。UDP常用在分组数据较少或多播、广播通信以及视频通信等多媒体领域。
在这里我们不进行详细讨论,这里主要讲解的是基于TCP/IP协议下的socket通信。
socket是基于应用服务与TCP/IP通信之间的一个抽象,他将TCP/IP协议里面复杂的通信逻辑进行分装。
服务端初始化ServerSocket,然后对指定的端口进行绑定,接着对端口及进行监听,通过调用accept方法阻塞。
此时,如果客户端有一个socket连接到服务端,那么服务端通过监听和accept方法可以与客户端进行连接。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
通信系统都用到java里的什么技术啊?
通信主要是java的Socket编程
网络编程主要类和接口:
java.net.Socket 此类实现客户端套接字,一般客户端都是该类的对象。该类的构造函数很多,如可以指定服务器端的IP和端口号
java.net.ServerSocket 此类实现服务器套接字,在构造函数中指定端口.
通信大概的步骤:
服务器端
1.服务器绑定端口,可以在构造函数中指定,或者 调用bind()方法
2.监听客户端请求 accept()方法,返回一个Socket对象
3.获得输入流 使用Socket的getInputStream()返回客户端的发送过来的的信息
4.获得输出流 使用Socket的getOutputStream(),获得输出流然后将要返回给客户端的内容加到输出流中
5.发送信息 flush()方法
6. 继续监听 或则 是关闭Socket 使用close()方法
客户端
1.指定服务器IP和端口进行连接 可以使用构造函数 或则 是connect()方法
2.获得输出流 使用Socket的getOutputStream(),获得输出流然后将要返回给客户端的内容加到输出流中
3.发送信息 flush()方法
4.获得输入流 使用Socket的getInputStream()返回客户端的发送过来的的信息 即服务器端的信息
5.关闭Socket 使用close()方法
如果是串口 或则是并口通信的话 不是J2SE的内容,不过有开源组织实现相关的接口.如JUsb 等等
Java做通信项目,能用到哪些技术?
SOCKET方面的,主要用有TCP、UDP两种传输方式的通信,服务端和客户端两方面都要学。
JAVA的主要应用领域是什么?
1、大型网站,主要使用JAVA EE,最有名例子就是电子商务交易平台阿里巴巴、淘宝、京东。
2、大型企业级应用,主要使用JAVA EE,比如大型企业管理系统,CRM系统,ERP系统2.1有关通信及网络的大型企业:移动、联通、电信、网通主要的信息化都是JAVA2.2有关金融行的大型企业,所有的银行、证券公司,互联网金融; 2.3大型管理系统,如:供应链,客户管理系统,物流系统。
3、电子政务,主要使用JAVA EE,相关的政府部门绝大多数的信息化系统是JAVA开发的。
4、游戏,很多手机游戏都是用JAVA开发的。包括大型网游的后台数据统计都是java。
5、嵌入式设备及消费类电子产品,主要用 JAVA ME,无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是比较热门的Java应用领域,这方面的应用例子有中国联通CDMA 1X网络中基于Java技术的无线。
6、各大旅游网站基本都是使用java做的开发。
7、出行的交通工具的订票系统绝大部分也是使用java开发的。
8、流行的大数据,最主流的大数据框架Hadoop的应用主要用Java开发。Java最大的优势之一就是它在大数据领域的地位,目前很多的大数据架构都是通过Java来完成的。
JAVA如何多线程通信
在通信方面,建议阅读Mina的源码,会有很大帮助,
源码对并发有处理。
说一点自己的浅薄经验,高并发下,接受数据是来不急处理的,会导致阻塞。
建议用专门的线程接收数据。不负责处理,放在队列里面。
然后有专门的线程去处理,把接收和处理分开。这是基本原则。
如果处理数据过程太慢而队列里堆积过多,就需要监测队列大小,如果过大,就启动多个线程。至于启动多少线程,可以写算法优化。记得空闲时关闭。
JAVA线程间通信的几种方式
Java多线程间的通信
Java还提供了一种线程间通信的机制,这种通信通什么实现?
wait,notify等机制
或使用pipeInputStream和pipeOutputStream
1. 线程的几种状态
线程有四种状态,任何一个线程肯定处于这四种状态中的一种:
1) 产生(New):线程对象已经产生,但尚未被启动,所以无法执行。如通过new产生了一个线程对象后没对它调用start()函数之前。
2) 可执行(Runnable):每个支持多线程的系统都有一个排程器,排程器会从线程池中选择一个线程并启动它。当一个线程处于可执行状态时,表示它可能正处于线程池中等待排排程器启动它;也可能它已正在执行。如执行了一个线程对象的start()方法后,线程就处于可执行状态,但显而易见的是此时线程不一定正在执行中。
3) 死亡(Dead):当一个线程正常结束,它便处于死亡状态。如一个线程的run()函数执行完毕后线程就进入死亡状态。
4) 停滞(Blocked):当一个线程处于停滞状态时,系统排程器就会忽略它,不对它进行排程。
java通信方面的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA网络通信、java通信方面的信息别忘了在本站进行查找喔。
发布于:2022-12-02,除非注明,否则均为
原创文章,转载请注明出处。