?? udpclient.java
字號:
import java.net.*;
import java.io.*;
public class UdpClient
{
public static void main (String args[])
{
String host="127.0.0.1";
int port=2000;
int length=1024;
try
{
// 建立Socket
DatagramSocket dSocket = new DatagramSocket();
System.out.print("Bound to local port " + dSocket.getLocalPort() +
"\nInput file name : ");
// 輸入文件名
BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
String fileName = bin.readLine();
// 生成Package,發送文件名
byte[] barray = fileName.getBytes ();
DatagramPacket p = new DatagramPacket( barray, barray.length );
p.setAddress (InetAddress.getByName (host));
p.setPort (port);
dSocket.send (p);
// 重置包
p.setData(new byte[length]);
p.setLength(length);
// 生成文件輸出流
FileOutputStream fout = new FileOutputStream("a.dat");
// 接收數據,并存儲
String s = fileName + "End.";
for (;;)
{
// 接收數據包
dSocket.receive(p);
// 獲取數據內容
barray = p.getData();
int len = p.getLength();
// 判定是否結束
String s1 = new String (barray, 0, len);
if (s.equals(s1)) break;
else
{
// 存入文件
for (int i=0; i<len; i++)
{
fout.write(barray[i]);
}
// 發送確認包
dSocket.send (p);
}
}
fout.close();
dSocket.close();
}
catch (IOException ioe)
{
System.err.println ("Error - " + ioe);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -