① java如何与C进行通信
两个不同进程之间的数据交互:
1、可以选择socket通信
2、可以选择文件,不过要注意好读写
3、消息传递,在windows下抛出一个消息//具体怎么做我没试过,只知道有这方法
4、数据库//这个比较容易实现
上面说的两个不同进程,当然就是可以选择用不同语言写出来的程序了
② Java 进行通信,请问有什么好的实现思路吗
1
Java
中输入
/
输出流概念
Java
语言的优点主要表现在
:
简单、
面向对象、
多线程、
分布性、
体系结构中立、
安全性等方面。
主要体现在
Java
实现了自动的垃
圾收集
,
简化了内存管理的工作
;
提供了简单的类机制和动态的构架模型
;
多线程使应用程序可以同时进行不同的操作
,
处理不同
的事件
;
是一种面向网络的语言
,
Java
程序能在网络的任何地方运行
,
且可防止病毒的入侵。
过滤流
DataInputStream
和
DataOutputStream
除了分别作为
FilterInputStream
和
FilterOutputStream
的子类外
,
还分别实现了接
口
DataInput
和
DataOutput
。接口
DataInput
中定义的方法主要包括从流中读取基本类型的数据、
读取一行数据、
或者读取指定长度
的字节数
,
如
readBoolean()
、
readInt()
、
readLine()
、
等。
接口
DataOutput
中定义的方法主要是向流中写入基本类型的数据或者写入一定
长度的字节数组
,
如
writeChar()
、
writeDouble()
、
DataInputStream
可以从所连接的输入流中读取与机器无关的基本类型数据
,
用以实现
一种独立于具体平台的输入方式
;
DataInputStream
可以向所连接的输出流写入基本类型的数据。
2
Socket
机制
Socket
是面向客户
/
服务器模型设计的
,
网络上的两个程序通过一个双向的通讯连接实现数据的交换
,
这个双向链路的一端称
为一个
Socket
。
Socket
通常用来实现客户方和服务方的连接。
客户程序可以向
Socket
写请求
,
服务器将处理此请求
,
然后通过
Socket
将结果返回给用户。
Socket
通信机制提供了两种通讯方式
:
有联接和无联接方式
,
分别面向不同的应用需求。
3
客户机
/
服务器通信的实现
:
两端通过
Socket
机制进行连接来实现
Application
同
Applet
的通信
:
正是由于
Java
系统具有基于
Socket
的灵活通信机制
,
因而
其应用程序能自由地打开和访问网络上的对象
,
就象在本地文件系统中一样。
才能实现
Applet
之间的通信
:
Applet
之间的通信使用
Applet
Context
类的
getApplet()
方法。
<applet
ITJOB
code=applet1.class
width=200
height=200
name=first>
只要在程序中加入
Applet
oneap-
plet=getAppletContext().getApplet(
“
first
”
);
便可使用
name
为
first
的
Applet
中的方法了。
程序如下
:
import
java.io.*;
import
java.net.*;
import
java.lang.*
③ java编程中,Socket通信是怎么实现的
java编程对于Socket之间的通信过程如下:
服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容。下面来看一些服务端与客户端通信的例子:
publicclassServer{
publicstaticvoidmain(Stringargs[])throwsIOException{
//为了简单起见,所有的异常信息都往外抛
intport=8899;
//定义一个ServerSocket监听在端口8899上
ServerSocketserver=newServerSocket(port);
//server尝试接收其他Socket的连接请求,server的accept方法是阻塞式的
Socketsocket=server.accept();
//跟客户端建立好连接之后,我们就可以获取socket的InputStream,并从中读取客户端发过来的信息了。
Readerreader=newInputStreamReader(socket.getInputStream());
charchars[]=newchar[64];
intlen;
StringBuildersb=newStringBuilder();
while((len=reader.read(chars))!=-1){
sb.append(newString(chars,0,len));
}
System.out.println("fromclient:"+sb);
reader.close();
socket.close();
server.close();
}
}
客户端代码
Java代码publicclassClient{
publicstaticvoidmain(Stringargs[])throwsException{
//为了简单起见,所有的异常都直接往外抛
Stringhost="127.0.0.1";//要连接的服务端IP地址
intport=8899;//要连接的服务端对应的监听端口
//与服务端建立连接
Socketclient=newSocket(host,port);
//建立连接后就可以往服务端写数据了
Writerwriter=newOutputStreamWriter(client.getOutputStream());
writer.write("HelloServer.");
writer.flush();//写完后要记得flush
writer.close();
client.close();
}
}
④ Java 的通信编程
import java.io.*;
import java.net.*;
class TCPClient{
public static void main(String[] args)throws IOException{
Socket client = new Socket("127.0.0.1" , 5050);
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
out.write('c');
char c = (char)in.read();
System.out.println("收到:" + c);
out.close();
in.close();
client.close();
}
}
import java.io.*;
import java.net.*;
class TCPServer{
public static void main(String[] args)throws IOException{
ServerSocket listen = new ServerSocket(5050);
Socket server = listen.accept();
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
char c = (char)in.read();
System.out.println("收到:" + c);
out.write('s');
out.close();
in.close();
server.close();
listen.close();
}
}
⑤ JAVA和c++是怎么进行通讯的
1. Java Native Interface(JNI)
中文为JAVA本地调用, 从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
2. Socket通信
3. Web service
⑥ 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项目之间如何通信
主要有以下方式:
1、RPC(远程过程调用);
2、webservice接口;
3、http接口,RESTful风格接口实现很优雅;
4、消息中间件,apache kafka、rabbitmq等。
这几种方式中推荐使用http接口和消息中间件,rpc代码耦合性太强,webservice过于重量级,http和消息中间件是最近比较流行的。
⑧ 请问java中的网络通信有那些方式,有什么区别
分别是TCP和UDPTCD是一种面向连接的保证可靠传输的协议。通过TCP实现的传输,得到的是一个顺序的无差错的数据流。发送方和接收方成对的两个socket之间必须建立连接,以便在TCP的基础上进行通信,当一server socket)等个socket(通常都是等待建立连接时。 而UDP是一种无连接的协议,每个数据都是一个独立的信息,包括完整的源地址和目的地址 ,UDP是不可靠的。
⑨ Java 类之间的通信
顶楼上!我也感觉你说的这个就是一个方法调用另一个方法,触发这个事件是个判定条件??判定成功返回TRUE就调用另一个方法?然后传递数据? 不知道这样说对不对,下面是个相当简单的比方了,对了就采纳吧!O(∩_∩)O哈哈~
public void A(){
int i =0;
if(i=0){
String str = "";
B(str) ;
}
}
public void B(String str){
}
⑩ 请帮忙用java socket写个通信类,通信协议是如下,谢谢!
这个协议要花很久时间的,估计在网络知道没人会给你做出来
不过这个 不是什么难东西 懂得基础的socket知识即可 至少稍微有些繁琐罢了
加油