java網路通信
㈠ java提供了哪幾種網路通信模式
伺服器端
DataInputStream inData;
socket = serverSocket.accept();
inData = new DataInputStream(socket.getInputStream());
outData = new DataOutputStream(socket.getOutputStream());
byte[] b = ("hello world").getBytes();
outData.write(b,0,b.lenth);
客戶端是
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b ;
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
while (in.available() != 0) {
out1.write(in.read());
}
b = out1.toByteArray();
return new String(b);
轉換的時候有問題
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b = new byte[in.available()];
for(int i = 0;i < b.length;i++){
b[i] = (byte)in.read();
}
String s = new String(b);
㈡ java網路通信如何使用位元組類傳送位元組數據
伺服器端
DataInputStream inData;
socket = serverSocket.accept();
inData = new DataInputStream(socket.getInputStream());
outData = new DataOutputStream(socket.getOutputStream());
byte[] b = ("hello world").getBytes();
outData.write(b,0,b.lenth);
客戶端是
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b ;
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
while (in.available() != 0) {
out1.write(in.read());
}
b = out1.toByteArray();
return new String(b);
轉換的時候有問題
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b = new byte[in.available()];
for(int i = 0;i < b.length;i++){
b[i] = (byte)in.read();
}
String s = new String(b);
㈢ java網路通信程序
這個程序 我是從一個我以及回答了的問題裡面過來的, 這個的原版是別人提供的,所以 你參考一下:
伺服器端:ServerDemo.java
Java代碼
1.package com.lanber.socket;
2.import java.io.DataInputStream;
3.import java.io.DataOutputStream;
4.import java.io.IOException;
5.import java.net.ServerSocket;
6.import java.net.Socket;
7.public class ServerDemo {
8./**
9.* 注意:Socket的發送與接收是需要同步進行的,即客戶端發送一條信息,伺服器必需先接收這條信息,
10.* 而後才可以向客戶端發送信息,否則將會有運行時出錯。
11.* @param args
12.*/
13.public static void main(String[] args) {
14.ServerSocket ss = null;
15.try {
16.ss = new ServerSocket(8888);
17.//伺服器接收到客戶端的數據後,創建與此客戶端對話的Socket
18.Socket socket = ss.accept();
19.//用於向客戶端發送數據的輸出流
20.DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
21.//用於接收客戶端發來的數據的輸入流
22.DataInputStream dis = new DataInputStream(socket.getInputStream());
23.System.out.println("伺服器接收到客戶端的連接請求:" + dis.readUTF());
24.//伺服器向客戶端發送連接成功確認信息
25.dos.writeUTF("接受連接請求,連接成功! 當前時間為:"+new Data());
26.//不需要繼續使用此連接時,關閉連接
27.socket.close();
28.ss.close();
29.} catch (IOException e) {
30.e.printStackTrace();
31.}
32.}
33.}
Server Socket通信客戶端:ClientDemo.java
Java代碼
34.package com.lanber.socket;
35.import java.io.DataInputStream;
36.import java.io.DataOutputStream;
37.import java.io.IOException;
38.import java.io.OutputStream;
39.import java.net.Socket;
40.import java.net.UnknownHostException;
41.public class ClientDemo {
42./**
43.* @param args
44.*/
45.public static void main(String[] args) {
46.Socket socket = null;
47.try {
48.socket = new Socket("localhost",8888);
49.//獲取輸出流,用於客戶端向伺服器端發送數據
50.DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
51.//獲取輸入流,用於接收伺服器端發送來的數據
52.DataInputStream dis = new DataInputStream(socket.getInputStream());
53.//客戶端向伺服器端發送數據
54.dos.writeUTF("我是客戶端,請求連接! 請求時間為:"+new Data());
55.//列印出從伺服器端接收到的數據
56.System.out.println(dis.readUTF());
57.//不需要繼續使用此連接時,記得關閉哦
58.socket.close();
59.} catch (UnknownHostException e) {
60.e.printStackTrace();
61.} catch (IOException e) {
62.e.printStackTrace();
63.}
64.}
65.}
以上就是對Server Socket通信的詳細代碼介紹,希望大家找到了自己需要的。
㈣ java如何實現網路通訊的,用到哪方面知識。舉例說說。。。。
當服務復器啟動時即建立制並啟動等待客戶端聯機時線程,然後每當有客戶端要聯機時。程序便在建立一個可以等待客戶端聯機的線程,利用維護客戶端聯機時線程未讀取客戶端付來的消息,然後將此消息加入一個廣播隊列中,接著由廣播消息到客戶端的線程來廣播隊列中的消息的消息給每一個客戶端。客戶端的設計比較簡單,主要是提供一些必要的用戶界面,這前涉到版面的布局管理,AW7的組件和事件處理方法的基本操作。另外,客戶端也會用到一個線程,主要是負責接受由伺服器端付來的廣播消息。
A. 能與伺服器程序聯機並且建立I/O管道;
B. 能發送消息到伺服器程序。首先分別了解在伺服器端和客戶端的程序設計方法與體系結構。在伺服器端使用了四個線程,其功能如下:
C. 等待客戶端聯機
D. 維護客戶端聯機
E. 廣播消息到客戶端
關鍵字:聊天室,伺服器,客戶線程,套接字
㈤ Java 網路通信異常求解
這個你這種方式是不能直接readObject的。除了伺服器那邊通過writeObject寫對象回,客戶端這邊通過socket.getInputStream來readObject,這種要對象是序列化的,答不過一般不用這種方式。
另一種是像你這種,服務端那邊直接寫位元組,客戶端讀取位元組,然後解析,再給對象屬性賦值,這種我們用的xsocket的框架,支持非同步的,你可以到網上看下。
㈥ 做網路通信方面的東西 使用java好一些還是C++好一些
全球最犀利的網路通信設備提供商,如思科、華為、中興、摩托羅拉、阿爾卡特等等,所有通信從主板到晶元都是用C語言寫的,沒聽說過java這種垃圾還能跑起來的,用java做網路通信,山寨機嗎?
㈦ JAVA網路通信小程序
呵呵 我這有一個簡單的通信程序,今天剛寫完的,發給你,希望對你有幫助!
㈧ 請問java中的網路通信有那些方式,有什麼區別
分別是TCP和UDPTCD是一種面向連接的保證可靠傳輸的協議。通過TCP實現的傳輸,得到的是一個順序的無差錯的數據流。發送方和接收方成對的兩個socket之間必須建立連接,以便在TCP的基礎上進行通信,當一server socket)等個socket(通常都是等待建立連接時。 而UDP是一種無連接的協議,每個數據都是一個獨立的信息,包括完整的源地址和目的地址 ,UDP是不可靠的。
㈨ java網路編程初學者
理論上 你想穿什麼就可以穿什麼!
必須不明白一下幾個問題
1)套接字產生的流可以傳版送任何權數據類型 ,比如String 類型 int 類型 char類型 但是有時候並不能直接傳遞 比如說是對象流 他能傳遞對象 也就是你說的類實例了 但是被傳送的類的實例在申明的這個類時的時候必須實現序列化介面
2)關於流的使用時相當靈活的 ,很多時候並不直接使用DataInputStream and DataOutputStream 而是加上各種修飾器 ,另外靈活運用流相當重要,例如,你用DataInputStream傳送文件 而不是傳送File實例,哪么我們可以約定一個協議,例如 我們先傳文件名,然後再傳文件內容而此時我們可以把這個流的引用交給一個FileOutputStream 這樣就可以實現文件的傳送了。總之JavaAPI提供了所有可能的功能的基礎類 ,靈活運用才能使他發揮作用 ,寫程序時多想像問題,多去實現自己的想法,那樣才能快速的學到東西!
有什麼也可以和我交流 呵呵