① 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知識即可 至少稍微有些繁瑣罷了
加油