java通信
❶ 請幫忙用java socket寫個通信類,通信協議是如下,謝謝!
這個協議要花很久時間的,估計在網路知道沒人會給你做出來
不過這個 不是什麼難東西 懂得基礎的socket知識即可 至少稍微有些繁瑣罷了
加油
❷ 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 進行通信,請問有什麼好的實現思路嗎
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通信在Java語言中是一個使用很廣泛的工具,下面我們就來仔細的學習下有關的方法。這對大家在以後的使用中有所幫助,只有不斷的學習才能更好的使用。
所謂Java socket通信通常也稱作"套接字",用於描述IP地址和埠,是一個通信鏈的句柄。應用程序通常通過"套接字"向網路發出請求或者應答網路請求。
以J2SDK-1.3為例,Socket和ServerSocket類庫位於java.net包中。ServerSocket用於伺服器端, Socket是建立網路連接時使用的。在連接成功時,應用程序兩端都會產生一個Socket實例,操作這個實例,完成所需的會話。對於一個網路連接來說, 套接字是平等的,並沒有差別,不因為在伺服器端或在客戶端而產生不同級別。不管是Socket還是ServerSocket它們的工作都是通過 SocketImpl類及其子類完成的。
重要的Socket API:
java.net.Socket繼承於java.lang.Object,有八個構造器,其方法並不多,下面介紹使用最頻繁的三個方法,其它方法大家可以見JDK-1.3文檔。Accept方法用於產生"阻塞",直到接受到一個連接,並且返回一個客戶端的Socket對象實例。"阻塞"是一個術語,它使程序運行暫時"停留"在這個地方,直到一個會話產生,然後程序繼續;通常"阻塞"是由循環產生的。
getInputStream方法獲得網路連接輸入,同時返回一個IutputStream對象實例。
getOutputStream方法連接的另一端將得到輸入,同時返回一個OutputStream對象實例。
注意:其中getInputStream和getOutputStream方法均會產生一個IOException,它必須被捕獲,因為它們返回的流對象,通常都會被另一個流對象使用。
如何開發一個Server-Client模型的程序
Java socket通信開發原理:
伺服器,使用ServerSocket監聽指定的埠,埠可以隨意指定(由於1024以下的埠通常屬於保留埠,在一些操作系統中不可以隨意使用,所以建議使用大於1024的埠),等待客戶連接請求,客戶連接後,會話產生;在完成會話後,關閉連接。
客戶端,使用Java socket通信對網路上某一個伺服器的某一個埠發出連接請求,一旦連接成功,打開會話;會話完成後,關閉Socket。客戶端不需要指定打開的埠,通常臨時的、動態的分配一個1024以上的埠。
❺ JAVA socket通信
publicclassClient{
publicstaticvoidmain(String[]args){
Strings=null;
Socketmysocket;
DataInputStreamin=null;
DataOutputStreamout=null;
try{
mysocket=newSocket("127.0.0.1",4331);
in=newDataInputStream(mysocket.getInputStream());
out=newDataOutputStream(mysocket.getOutputStream());
for(intk=1;k<100;k=k+2){
out.writeUTF(""+k);
s=in.readUTF();
System.out.println("客戶收到"+s);
Thread.sleep(500);
}
}catch(Exceptione){
System.out.println("伺服器已斷開"+e);
}
}
}
publicclassServer{
publicstaticvoidmain(String[]args){
ServerSocketserver=null;
Socketyou=null;
Strings=null;
DataOutputStreamout=null;
DataInputStreamin=null;
try{
server=newServerSocket(4331);
}catch(Exceptione){
System.out.println(e);
}
try{
System.out.println("等待客戶呼叫");
you=server.accept();
out=newDataOutputStream(you.getOutputStream());
in=newDataInputStream(you.getInputStream());
while(true){
s=in.readUTF();
intm=Integer.parseInt(s);
out.writeUTF("你好,我是伺服器");
out.writeUTF("你說的數乘2後是:"+2*m);
System.out.println("伺服器收到:"+s);
Thread.sleep(500);
}
}catch(Exceptione){
System.out.println("客戶端已斷開"+e);
}
}
}
很簡單的伺服器客戶端程序
❻ 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 做即使通訊
沒有用框架?用的長連接?報錯信息有嗎?有的話貼出來
❽ 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里的什麼技術啊
通信主要是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 類之間的通信
頂樓上!我也感覺你說的這個就是一個方法調用另一個方法,觸發這個事件是個判定條件??判定成功返回TRUE就調用另一個方法?然後傳遞數據? 不知道這樣說對不對,下面是個相當簡單的比方了,對了就採納吧!O(∩_∩)O哈哈~
public void A(){
int i =0;
if(i=0){
String str = "";
B(str) ;
}
}
public void B(String str){
}