看板:JJDai 顯示模式設定:遞減→遞增 | 群組→非群組文章, 不能/無權限 回覆此文章
此文章群組總共有 4 編文章,以下為 1 - 4 [第1頁]: | 標題: | UDP Server / UDP Client |
| | 作者: | jjdai (jjdai) | | 圖 | | 時間: | 2008-10-13 00:25:51 | | 來源: | 122.116.236.55 |
| | 此文: | | 點閱: | 4621 | | 回覆: | 3 |
| UDP Server, 下載(download) --> UDP Server
UDP Client, 下載(download) --> UDP Client
關鍵字:
UDP/IP, UDP Server, UDP Client, download
--
jjdai
| | 設定屬性 | 搬移文章 | 刪除文章 | 修改文章 | 回應此文章 |
|
| | 標題: | Re: UDP Server / UDP Client |
| | 作者: | aliase (aliase) | | 圖 | | 時間: | 2008-11-07 14:46:25 | | 來源: | 122.146.121.158 |
| 你 server 怪怪的.. 異常的慢...
// ============= UDPServer ==============================
import java.net.*;
import java.io.*;
public class UDPServer{
public static void main(String args[]){
DatagramSocket aSocket = null;
try{
aSocket = new DatagramSocket(6789);
// create socket at agreed port
byte[] buffer = new byte[1000];
while(true){
DatagramPacket request = new DatagramPacket(buffer, buffer.length);
aSocket.receive(request);
DatagramPacket reply = new DatagramPacket(request.getData(), request.getLength(),
request.getAddress(), request.getPort());
//testing timeout ..
try {
Thread.sleep(10000);
}catch(Exception eee){}
aSocket.send(reply);
}
}catch (SocketException e){System.out.println("Socket: " + e.getMessage());
}catch (IOException e) {
if( e.getMessage().toLowerCase().indexOf("time")!=-1 && e.getMessage().toLowerCase().indexOf("out") !=-1 ) {
System.out.println("*** Server Receiver Timeout ***");
} else {
System.out.println("error:"+e.getMessage());
}
}finally {if(aSocket != null) aSocket.close();}
}
}
//==================== UDPClient ===========
import java.net.*;
import java.io.*;
public class UDPClient {
////////////////////////// defaut value /////////////////////////////////////
static int TIMEOUT = 3000; // 3 sec
static String SERVER_ADDRESS="localhost"; // Server hostname
public UDPClient() {
}
public static void main(String args[]){
// args give message contents and destination hostname
/////////////////////////// Looping //////////////////////////////////////////
while( true ) {
DatagramSocket aSocket = null;
try {
/////////////////////////// Reading data /////////////////////////////////////////
System.out.println("Input send datas : ['**END**' to exit program. ]");
java.io.BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
String InputAline = bin.readLine();
if( InputAline.equals("**END**") ) break;
aSocket = new DatagramSocket();
////////////////////////// Setup Timeout time //////////////////////////////
aSocket.setSoTimeout(TIMEOUT);
byte[] m = InputAline.getBytes();
System.out.println("Connection to "+SERVER_ADDRESS+"...");
InetAddress aHost = InetAddress.getByName(SERVER_ADDRESS);
int serverPort = 6789;
DatagramPacket request =
new DatagramPacket(m, m.length, aHost, serverPort);
aSocket.send(request);
byte[] buffer = new byte[1000];
DatagramPacket reply = new DatagramPacket(buffer, buffer.length);
aSocket.receive(reply);
System.out.println("Reply: " + new String(reply.getData()));
}
catch (SocketException e) {
System.out.println("Socket: " + e.getMessage());
}
catch (IOException e) {
/////////////////// Handle timeout event ////////////////////////
if( e.getMessage().toLowerCase().indexOf("time")!=-1 && e.getMessage().toLowerCase().indexOf("out") !=-1 ) {
System.out.println("*** Server Receiver Timeout ***");
} else {
System.out.println("error:"+e.getMessage());
}
}
finally {
if (aSocket != null) aSocket.close();
}
}
}
}
| | 設定屬性 | 搬移文章 | 刪除文章 | 修改文章 | 回應此文章 |
|
| | 標題: | Re: UDP Server / UDP Client |
| | 作者: | jjdai (jjdai) | | 圖 | | 時間: | 2008-10-31 23:27:53 | | 來源: | 122.116.236.55 |
| 程式範例在這裡啦, source code 等你分享嚕。。。。。
我沒被 bobwang 的紅色炸彈轟炸 >_<"
| | 設定屬性 | 搬移文章 | 刪除文章 | 修改文章 | 回應此文章 |
|
| | 標題: | Re: UDP Server / UDP Client |
| | 作者: | aliase (aliase) | | 圖 | | 時間: | 2008-10-31 20:35:16 | | 來源: | 219.68.56.232 |
| 沒 souce code , 分享無意義 哈
bobwang 結婚啦~~
| | 設定屬性 | 搬移文章 | 刪除文章 | 修改文章 | 回應此文章 |
|
|
|