freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于udp網(wǎng)絡(luò)通信系統(tǒng)的服務(wù)端程序設(shè)計(jì)(專業(yè)版)

2025-08-08 18:54上一頁面

下一頁面
  

【正文】 (Server Started)。 public HandleInput(){ (me, me)。 byte[] buf = new byte[2048]。 public SimpleServer(Socket socket){ = socket。 import 。 break。 fromUser = ()。 String fromUser, fromServer。 import 。 //打印客戶機(jī)消息 // 發(fā)送 (接收到的服務(wù)器消息:)。 //取出信息 (接受到的服務(wù)器消息: + out)。 //調(diào)用UDPClient()函數(shù),啟動(dòng)客戶端 }}class UDPClient extends Thread { public UDPClient() { } public void run() { //和服務(wù)器之間進(jìn)行連接 (請(qǐng)輸入所要通訊的服務(wù)器的地址:)。另外,使我對(duì)UDP協(xié)議的特點(diǎn)和工作過程有了更深的了解。 ()。 ()。 (outputLine)。 (receive)。(3) 從服務(wù)器方收到最終應(yīng)答結(jié)果,或在不再請(qǐng)求時(shí)關(guān)閉信道并終止客戶機(jī)進(jìn)程。UDP是定義用來在互連網(wǎng)絡(luò)環(huán)境中提供數(shù)據(jù)報(bào)交換的計(jì)算機(jī)通信的協(xié)議。UDP用來支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。本課程設(shè)計(jì)將基于UDP協(xié)議和局域網(wǎng)環(huán)境,使用Java語言實(shí)現(xiàn)一個(gè)即時(shí)網(wǎng)絡(luò)通訊程序。網(wǎng)絡(luò)聊天已經(jīng)成為人們工作生活中傳遞信息、交流感情的重要工具,給人們帶來了很大的方便。一個(gè)典型的數(shù)據(jù)包就是一個(gè)二進(jìn)制數(shù)據(jù)的傳輸單位。數(shù)據(jù)報(bào)的長度是指包括報(bào)頭和數(shù)據(jù)部分在內(nèi)的總的字節(jié)數(shù)。 圖11 聊天模塊流程圖根據(jù)UDP協(xié)議的基本特性以及Java語言編程特點(diǎn),然后對(duì)比設(shè)計(jì)流程圖,在Eclipse編程環(huán)境下編寫出實(shí)現(xiàn)該即時(shí)聊天系統(tǒng)的程序,具體步驟如下:,命名為UDPChat。 //執(zhí)行發(fā)送 } } catch (Exception e) { //錯(cuò)誤處理 ()。 //transmit the file int num = (buf)。 //定義用戶名密碼 (abc, abc)。圖15 服務(wù)器和客戶端之間的聊天通訊接下來是在客戶端下載服務(wù)器上的文件。import 。 //將得到的客戶端消息保存數(shù)組中 InetAddress address = (serverip)。 //啟動(dòng)服務(wù)器 }}class UDPServer extends Thread { public UDPServer() { } //缺省構(gòu)造函數(shù) public void run() { try { DatagramSocket socket = new DatagramSocket(80)。 import 。 PrintWriter out = null。 ()。 //receiving int num = (buf)。 ()。 import 。 while((inputLine = ()) != null){ outputLine = (inputLine)。 (Disconnected from + ())。 if((username).equals(password)) output = password:valid。 } } catch (IOException e) { // TODO Autogenerated catch block ()。 else output = username:invalid。 } } ()。 outputLine = (null)。 import 。 ()。 InputStream fileInput = new DataInputStream( new BufferedInputStream(()))。 fromUser = ()。 } if( 1 ){ port = (args[1])。 } }}附錄3:文件傳輸模塊客戶端程序設(shè)計(jì)清單import 。import 。 //讀入客戶機(jī)輸入的消息 byte[] outstr = new byte[()]。這次課設(shè)對(duì)于我而言是有很大的收獲,懂得獨(dú)立尋找資料學(xué)習(xí),這是最大的收獲,在以后的工作中肯定會(huì)面臨不懂得問題,有了這次課設(shè)的經(jīng)驗(yàn),就能夠去獨(dú)立學(xué)習(xí)并解決困難。圖14 服務(wù)器和客戶端連接接下來,客戶端和服務(wù)器端進(jìn)行連接后,可以進(jìn)行正常的聊天了。 private String password = 。 //創(chuàng)建字節(jié)輸入流 OutputStream fileOutput = new DataOutputStream( new BufferedOutputStream(()))。 DatagramPacket send = new DatagramPacket(outstr, (), ())。其具體設(shè)計(jì)如下。UDP和rap協(xié)議正是采用這一機(jī)制,實(shí)現(xiàn)對(duì)同一時(shí)刻內(nèi)多項(xiàng)應(yīng)用同時(shí)發(fā)送和接收數(shù)據(jù)的支持。根據(jù)OSI(開放系統(tǒng)互連)參考模型,UDP和TCP都屬于傳輸層協(xié)議。(2)課程設(shè)計(jì)附件(源程序、各類圖紙、實(shí)驗(yàn)數(shù)據(jù)、仿真截圖等實(shí)證材料)。TCP協(xié)議和UDP協(xié)議是網(wǎng)絡(luò)通訊的基本協(xié)議。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天UDP仍然不失為一項(xiàng)非常實(shí)用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。此協(xié)議提供了向另一用戶程序發(fā)送信息的最簡便的協(xié)議機(jī)制,不需要連接確認(rèn)和保護(hù)復(fù)制,所以在軟件實(shí)現(xiàn)上比較簡單,需要的內(nèi)存空間比起TCP相對(duì)較小。(2) 等待客戶請(qǐng)求到達(dá)指定端口。 //提取數(shù)據(jù) (客戶端消息: + ())。 //每次讀一行 (outputLine)。 ()。 } finally { if(serverSocket != null) ()。它工作于傳輸層,是傳輸層的重要協(xié)議之一。 //定義一個(gè)數(shù)組,用來保存服務(wù)器地址,初始化為NULL. //進(jìn)行異常處理 try { serverip = new BufferedReader(new InputStreamReader()).readLine()。} }}}附錄2:聊天模塊服務(wù)器程序設(shè)計(jì)清單package 。 //得到輸入的數(shù)據(jù) byte[] outstr = new byte[()]。 public class SimpleClient { private static final int DEFAULT_PORT = 8080。 else if((Hi)){ (Do you want to get the 39。 ()
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1