Ⅰ java程序怎麼實現UDP多線程通信 用split方法分不開兩段啊 以下程序有錯的地方希望糾錯 謝謝!!
a=new byte[8192];
a="沒有該用戶".getBytes();
首先這句的寫法就有大問題了……
你把a先指向了一個8192長度的byte數組 然後馬上又把a指向xxxx.getBytes(),也就是說第一句沒有任何用處
然後你具體的代碼 我已經不知道你想做什麼了~~~如果你只是想用DatagrameSocket來實現數據傳輸其實很簡單的……可以參見orelly的《java網路編程》裡面的例子 我就不貼了
然後把例子改成多線程的就行了……
Ⅱ UDP不可靠Java網路編程
嗯,在設計你的應用程序協議的時候,如果你使用了UDP,那麼可以考慮讓對方發送一個已接收的回應,但是如果還想要進一步的功能,把協議整得太復雜了,那就建議直接用TCP了。因為,如果你把所有提高可靠性的辦法都用上的話,基本上就等於重寫了一遍TCP
Ⅲ 在java程序的編寫上(注意不是問TCP/UDP協議的區別),基於UDP/TCP編寫SIP消息的收發有什麼區別
本來在java中UDP和TCP使用的包就不同!
UDP不連接就send() receive()
TCP需要獲得一個OutputStream和InputStream才能讀寫,在獲得流時就等於在建立連接
OK!?
Ⅳ JAVA用udp從本地網路穿透到公網之後,從其他網路作為客戶端發送udp包到伺服器正常接收。
你說的還不清楚。Java網路編程使用Socket,同為一個網路下的主機時是肯定沒問題的,不論同一區域網或廣域網。如果內網跨越網關,我沒做過試驗,按我的理解,內網主機做客戶端,獨立主機做伺服器應該可行,反之不行。
Ⅳ 我要一份用java網路編程寫的點對點的兩人聊天程序(TCP和UDP)
Server端:
import java.io.*;
import java.net.*;
import java.applet.Applet;
public class TalkServer{
public static void main(String args[]) {
try{
ServerSocket server=null;
try{
server=new ServerSocket(4700);
}catch(Exception e) {
System.out.println("can not listen to:"+e);
}
Socket socket=null;
try{
socket=server.accept();
}catch(Exception e) {
System.out.println("Error."+e);
}
String line;
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine());
line=sin.readLine();
while(!line.equals("bye")){
os.println(line);
os.flush();
System.out.println("Server:"+line);
System.out.println("Client:"+is.readLine());
line=sin.readLine();
}
os.close();
is.close();
socket.close();
server.close();
}catch(Exception e){
System.out.println("Error:"+e);
}
}
}
Client端:
import java.io.*;
import java.net.*;
public class TalkClient {
public static void main(String args[]) {
try{
Socket socket=new Socket("127.0.0.1",4700);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline=sin.readLine(); //從系統標准輸入讀入一字元串
while(!readline.equals("bye")){
os.println(readline);
os.flush();
System.out.println("Client:"+readline);
System.out.println("Server:"+is.readLine());
readline=sin.readLine(); //從系統標准輸入讀入一字元串
}
os.close(); //關閉Socket輸出流
is.close(); //關閉Socket輸入流
socket.close(); //關閉Socket
}catch(Exception e) {
System.out.println("Error"+e); //出錯,則列印出錯信息
}
}
}
Ⅵ java UDP 實現 多人聊天
這個好實現,用udp里的組播socket。具體的我也不好說,代碼比較的多。我給你提供一個地方:http://www.fecit.com.cn/download_search.aspx?bigcid=&cid=&sid= 在標題哪裡搜java,裡面有一個java網路編程精解的源代碼,第八章就是UDP的數據報和套接字的源代碼,你看了會有啟發的!
Ⅶ 學習java需要學習udp跟tcp嗎
不需要的。
udp和tcp是屬於網路協議,如果能懂點當然是好的,但是就學校java來說,一般是用不到的。
Ⅷ java網路編程包含些什麼
java網路編程通常包括三部分TCP/IP , UDP ,URL ;socket只是其中的一個套接字。web,jsp與上面一點關系也沒有,上面是j2se的內容。下面則是j2ee內容。web是一個服務,而jsp是一種技術。實在找關系的話,web包括了jsp.
Ⅸ 用Java設計圖形用戶界面,在界面上基於網路編程使用UDP創建區域網的小聊天程序
首先,最快的法子是到網上下一個模板,照著學就是;
如果你要手動從零開始的話,那首先學習一項java如何用TCP或是UDP通信,放心,這不會很難,因為都是封裝好的類;其次,就是學習一下java的圖形界面設計,這個也不會很難因為eclipse有圖形化編輯的插件,你幾乎不用編碼,當然這是指java的自帶UI,那個長的實在不敢恭維;
然後呢?然後就好了,你就可以開始寫了。