當前位置:首頁 » 編程語言 » java通信

java通信

發布時間: 2022-01-09 02:39:41

❶ 請幫忙用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){

}

熱點內容
crv車載出廠設置密碼多少 發布:2024-12-27 08:25:11 瀏覽:161
計算機二級的c語言 發布:2024-12-27 08:20:13 瀏覽:981
腳本精靈root失敗 發布:2024-12-27 08:17:49 瀏覽:760
伺服器託管前准備什麼 發布:2024-12-27 07:48:25 瀏覽:684
福建安全雲空間工具伺服器 發布:2024-12-27 07:45:10 瀏覽:942
mplayer交叉編譯 發布:2024-12-27 07:43:43 瀏覽:634
工程編譯速度提升 發布:2024-12-27 07:42:58 瀏覽:867
易安卓如何下載 發布:2024-12-27 07:30:16 瀏覽:879
旋轉矩陣演算法 發布:2024-12-27 07:24:24 瀏覽:845
c語言將數字轉換為字元串 發布:2024-12-27 07:24:24 瀏覽:533