當前位置:編程學習大全網 - 腳本源碼 - java網絡編程應該怎樣在客戶端和服務器間實現通信?

java網絡編程應該怎樣在客戶端和服務器間實現通信?

以前寫的,照貼了。。。服務器端:import java.awt.*;\x0d\import java.awt.event.WindowAdapter;\x0d\import java.awt.event.WindowEvent;\x0d\import java.io.*;\x0d\import java.net.*;/*6、 采用UDP協議,編寫壹個Java網絡應用程序,該應用分服務器端程序和客戶端程序兩部分。\x0d\* 客戶端指定壹個服務器上的文件名,讓服務器發回該文件的內容,或者提示文件不存在。\x0d\* (20分)(服務端程序和客戶端程序分別命名為Server.java和Client.java)*/\x0d\public class N4BT6 extends Frame\x0d\{\x0d\DatagramSocket socket ;\x0d\DatagramPacket packet ;byte[] buf ;\x0d\File file ;\x0d\FileInputStream input;\x0d\String message = "該文件不存在";\x0d\TextArea text;\x0d\public N4BT6(String title)\x0d\{\x0d\super(title);\x0d\text = new TextArea(6,4);\x0d\add(text);\x0d\setSize(400, 300);\x0d\setVisible(true);\x0d\addWindowListener(new WindowAdapter()\x0d\{\x0d\public void windowClosing(WindowEvent e)\x0d\{\x0d\dispose();\x0d\}\x0d\});\x0d\\x0d\buf = new byte[1024];\x0d\try\x0d\{\x0d\socket = new DatagramSocket(1230);\x0d\packet = new DatagramPacket(buf, buf.length);\x0d\socket.receive(packet);\x0d\file = new File(new String(packet.getData()));\x0d\socket = new DatagramSocket();\x0d\} \x0d\catch (Exception e)\x0d\{e.printStackTrace();\x0d\}\x0d\\x0d\if(file.exists())\x0d\{\x0d\try\x0d\{\x0d\buf = new byte[(int)file.length()];\x0d\packet = new DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),1234);\x0d\input = new FileInputStream(file);\x0d\input.read(buf);\x0d\socket.send(packet);\x0d\}\x0d\catch (IOException e) \x0d\{\x0d\e.printStackTrace();\x0d\}\x0d\}\x0d\else\x0d\{\x0d\try\x0d\{\x0d\packet = new DatagramPacket(message.getBytes(),message.getBytes().length,\x0d\InetAddress.getLocalHost(),1234);\x0d\socket.send(packet);\x0d\}\x0d\catch (Exception e) \x0d\{\x0d\e.printStackTrace();\x0d\}\x0d\}\x0d\\x0d\}\x0d\public static void main(String[] args)\x0d\{\x0d\new N4BT6("Server");\x0d\}\x0d\}\x0d\客戶端:import java.awt.*;\x0d\import java.awt.event.*;\x0d\import java.net.DatagramPacket;\x0d\import java.net.DatagramSocket;\x0d\import java.net.InetAddress;public class N4BT6_2 extends Frame\x0d\{\x0d\TextArea text;\x0d\String message = "Q.txt";\x0d\DatagramSocket socket ;\x0d\DatagramPacket packet;\x0d\byte[] buf;\x0d\public N4BT6_2(String title)\x0d\{\x0d\super(title);\x0d\text = new TextArea(6,4);\x0d\add(text);\x0d\setSize(400, 300);\x0d\setVisible(true);\x0d\addWindowListener(new WindowAdapter()\x0d\{\x0d\public void windowClosing(WindowEvent e)\x0d\{\x0d\dispose();\x0d\}\x0d\});\x0d\try\x0d\{\x0d\\x0d\socket = new DatagramSocket();\x0d\packet = new DatagramPacket(message.getBytes(),message.getBytes().length,\x0d\InetAddress.getLocalHost(),1230);\x0d\socket.send(packet);\x0d\}\x0d\catch (Exception e) \x0d\{\x0d\e.printStackTrace();\x0d\}\x0d\\x0d\try\x0d\{\x0d\buf = new byte[1024];\x0d\socket = new DatagramSocket(1234);\x0d\packet = new DatagramPacket(buf,buf.length);\x0d\socket.receive(packet);\x0d\text.append(new String(buf));\x0d\}\x0d\catch (Exception e) \x0d\{\x0d\e.printStackTrace();\x0d\}\x0d\}\x0d\public static void main(String[] args)\x0d\{\x0d\new N4BT6_2("Client");\x0d\}\x0d\}

  • 上一篇:求翻譯德國組合Banaroo的Oriental dream
  • 下一篇:公安部承認的十大品牌指紋鎖
  • copyright 2024編程學習大全網