首页 文章 精选 留言 我的

精选列表

搜索[Unicode通信],共10003篇文章
优秀的个人博客,低调大师

Spring Integration 6.0 正式发布,Spring 消息通信

Spring Integration6.0.0 现已正式发布,且可以在 Maven Central 中找到。 此版本是一年多工作的结晶,完全基于 Spring Framework 6.0、Spring Data 2022.0、Spring for GraphQL 1.1、Spring WebServices 4.0 ,另一方面,Spring Integration 6.0 是最近发布的 Spring Boot 3.0 的一部分。 主要改进: Java17 基线 使用 GraalVM 和 Spring AOT 引擎支持本机图像 使用 EE9 基线,支持 Jakarta EE 10 支持使用 Micrometer 启用对计时器的观察和跟踪。有关详细信息,请参阅 Micrometer 观察。 添加了新的 MQTTClientManager,以支持跨不同通道适配器的可重用 MQTT 连接。有关更多信息,请参阅共享 MQTT 客户端支持。 添加了 GraphQL 支持。有关详细信息,请参阅GraphQL 支持。 引入了对 Apache Camel 路由的支持。有关详细信息,请参阅Apache Camel 支持。 Hazelcast Spring Integration Extensions 项目已作为spring-integration-hazelcast模块迁移。有关详细信息,请参阅 Hazelcast 支持。 引入了 Kotlin Coroutines 支持。有关详细信息,请参阅 Kotlin 协程。 更多一般改进可查看 6.0 版本功能改进页面。 更新公告:https://spring.io/blog/2022/11/29/spring-integration-6-0-goes-ga

优秀的个人博客,低调大师

Spring Integration 5.2.0 正式发布,Spring 消息通信

Spring Integration 5.2.0 正式发布了,可从里程碑仓库获取。 compile "org.springframework.integration:spring-integration-core:5.2.0.RELEASE" 主要更新内容: RSocket 支持——在 RSocket 协议中实现了 RSocketInboundGateway 和 RSocketOutboundGateway,以支持 Reactive Streams FluxAggregatorMessageHandler 以基于 Project Reactor Flux 分组和窗口功能生成窗口或缓冲区结果 RateLimiterRequestHandlerAdvice 和 CacheRequestHandlerAdvice 可用于 MessageHandler.handleMessage() 的 AOP 方面 Spring 集成脚本模块已添加了 Kotlin 脚本的 JSR223 实现 现在,FTP 和 SFTP 模块为某些 Apache Mina FTP/SFTP 服务器事件提供了事件侦听器 提供了简单的 Apache Avrotransformers 整个项目中还有许多其他改进 更新说明 Spring Integration 在基于 Spring 的应用程序中实现轻量级消息传递,并支持通过声明适配器与外部系统集成。与 Spring 对远程处理、消息传递和调度的支持相比,这些适配器提供了更高级别的抽象。Spring Integration 的主要目标是提供一个简单的模型来构建企业集成解决方案,同时保持关注点的分离,这对于生成可维护、可测试的代码至关重要。

优秀的个人博客,低调大师

安卓App和java通信实例

服务器:放在电脑上运行的java文件 import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class MyServer implements Runnable{ //服务器连接 public static ServerSocket serverSocket; //连接 public static Socket socket; //端口 public static final int PORT = 8888; public void run() { DataInputStream dis = null; DataOutputStream dos = null; try { serverSocket = new ServerSocket(PORT); System.out.println("正在等待客户端连接..."); //这里处于等待状态,如果没有客户端连接,程序不会向下执行 while(true){ socket = serverSocket.accept(); dis = new DataInputStream(socket.getInputStream()); dos = new DataOutputStream(socket.getOutputStream()); //读取数据 String clientStr = dis.readUTF(); //写出数据 dos.writeUTF(clientStr); System.out.println("----客户端已成功连接!----"); //得到客户端的IP System.out.println("客户端的IP =" + socket.getInetAddress()); //得到客户端的端口号 System.out.println("客户端的端口号 =" + socket.getPort()); //得到本地端口号 System.out.println("本地服务器端口号=" + socket.getLocalPort()); System.out.println("-----------------------"); System.out.println("客户端:" + clientStr); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally {//我们把流的关闭写在finally里,即使读写出现问题,我们也能正常的关闭流! try { if (dis != null) dis.close(); if (dos != null) dos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args){ Thread desktopServerThread = new Thread(new MyServer()); desktopServerThread.start(); } } App工程文件: 1、AndroidManifest.xml(主xml文件) <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.himi" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="4" /> <uses-permission android:name="android.permission.INTERNET" /> </manifest> 2、res/values/strings.xml(资源文件) <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">这里输入文字发给服务器</string> <string name="app_name">SocketConnect</string> <string name="send">发送</string> <string name="get">这里显示服务器发来的信息!</string> </resources> 3、res/layout/main.xml(资源文件) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <EditText android:id="@+id/edit" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/Btn_commit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/send" /> <TextView android:layout_width="fill_parent" android:id="@+id/tv" android:layout_height="wrap_content" android:text="@string/get" /> </LinearLayout> 4、src/com.himi/MainActivity.java(Activity文件,客户端端主程序) package com.himi; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; /** * @author Himi */ public class MainActivity extends Activity implements OnClickListener { private Button btn_ok; private EditText edit; private TextView tv; //Socket用于连接服务器获取输入输出流 private Socket socket; //服务器server/IP地址 private final String ADDRESS = "10.203.8.167"; //服务器端口 private final int PORT = 8888; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); btn_ok = (Button) findViewById(R.id.Btn_commit); tv = (TextView) findViewById(R.id.tv); edit = (EditText) findViewById(R.id.edit); btn_ok.setOnClickListener(this); } public void onClick(View v) { if (v == btn_ok) { DataInputStream dis = null; DataOutputStream dos = null; try { //阻塞函数,正常连接后才会向下继续执行 socket = new Socket(ADDRESS, PORT); //socket = new Socket("localhost", PORT); dis = new DataInputStream(socket.getInputStream()); dos = new DataOutputStream(socket.getOutputStream()); //向服务器写数据 dos.writeUTF(edit.getText().toString()); String temp = "I say:"; temp += edit.getText().toString(); temp += "\n"; temp += "Server say:"; //读取服务器发来的数据 temp += dis.readUTF(); tv.setText(temp); } catch (IOException e) { Log.e("Himi", "Stream error!"); e.printStackTrace(); } finally { try { if (dis != null) dis.close(); if (dos != null) dos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } 本文转自beautifulzzzz博客园博客,原文链接: http://www.cnblogs.com/zjutlitao/p/3477529.html ,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册