版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于UDP的多人聊天系統(tǒng)只需把兩個(gè)客戶(hù)段代碼與一個(gè)服務(wù)器代碼導(dǎo)入就可以了,記得要把服務(wù)器ip:7(也可以自己在服務(wù)器程序中改一下),每個(gè)客戶(hù)端需要設(shè)置一下ip,比如A客戶(hù)端:8,B客戶(hù)端:8,A客戶(hù)端向B客戶(hù)端通訊時(shí),“請(qǐng)輸入對(duì)方ip”,這項(xiàng)改為8,就可以了??蛻?hù)端源代碼程序:ChatFram.javapackageChatFrame_01;import.*;importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.lang.*;importjava.awt.color.*;importjavax.swing.JOptionPane;publicclassChatFrameextendsJFrame{ JPanelcontentPane; JLabellabel1=newJLabel();//發(fā)送消息 JLabellabel2=newJLabel();//輸入ip Labellabel3=newLabel();//輸入端口標(biāo)簽 Labellabel4=newLabel();//輸出端口標(biāo)簽 JTextFieldtextField1=newJTextField();//發(fā)送消息 JTextFieldtextField2=newJTextField();//輸入ip JTextFieldtextField3=newJTextField();//獲得輸入端口 JTextFieldtextField4=newJTextField();//獲得輸出端口 JButtonbutton1=newJButton("發(fā)送");//發(fā)送消息 TextAreatextArea1=newTextArea(); JOptionPanejopane=newJOptionPane(); DatagramPacketsendpacket,receivepacket;//聲明發(fā)送和接收數(shù)據(jù)包 DatagramSocketsendsocket,receivesocket;//聲明發(fā)送和接收DatagramSocket publicChatFrame(){ enableEvents(AWTEvent.WINDOW_EVENT_MASK); try{ toInit(); }catch(Exceptione){ e.printStackTrace(); } } privatevoidtoInit()throwsException{ contentPane=(JPanel)this.getContentPane(); label1.setText("發(fā)送信息:"); label1.setBounds(newRectangle(13,100,60,21)); contentPane.setLayout(null); contentPane.setBackground(Color.pink); this.setSize(newDimension(363,502)); this.setTitle("多人聊天室"); label2.setText("輸入對(duì)方IP地址:"); label2.setBounds(newRectangle(12,19,109,23)); label3.setText("輸入端口:"); label3.setBounds(newRectangle(12,58,55,22)); label4.setText("輸出端口:"); label4.setBounds(newRectangle(180,58,55,22)); textField3.setText("3000"); textField4.setText("3001"); button1.setBounds(newRectangle(280,100,59,21)); button1.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(ActionEvente){ button1_actionPerformed(e); } }); textField1.addKeyListener(newKeyAdapter(){ publicvoidkeyPressed(KeyEvente){ if(e.getKeyCode()==KeyEvent.VK_ENTER){ Stringstr=textField2.getText(); Stringstr1=textField1.getText(); if(pareTo("")!=0&&!"".equals(str1)){ try{ textArea1.append("\nto"+textField2.getText() +":"+"3000"+"say:" +textField1.getText()); Strings=textField1.getText(); bytedata[]=s.getBytes("UTF-8"); sendpacket=newDatagramPacket( data, data.length, InetAddress.getByName("7"), 6666); sendsocket.send(sendpacket); }catch(IOExceptionexc){ exc.printStackTrace(); } textField1.setText(""); } } } }); textField4.setBounds(newRectangle(240,58,90,22)); textField3.setBounds(newRectangle(70,58,90,22)); textField2.setBounds(newRectangle(123,20,120,19)); textField1.setBounds(newRectangle(76,100,190,19)); textArea1.setBounds(newRectangle(11,140,333,315)); textArea1.setEditable(false); textArea1.setBackground(Color.white); contentPane.add(label4,null); contentPane.add(label3,null); contentPane.add(label2,null); contentPane.add(label1,null); contentPane.add(textField1,null); contentPane.add(textField2,null); contentPane.add(textField3,null); contentPane.add(textField4,null); contentPane.add(textArea1,null); contentPane.add(button1,null); this.setVisible(true); bind(); } protectedvoidprocessWindowEvent(WindowEvente){ cessWindowEvent(e); if(e.getID()==WindowEvent.WINDOW_CLOSING){ System.exit(0); } } publicvoidwaitforpackets(){//檢測(cè)并接受對(duì)方發(fā)來(lái)的消息 while(true){ try{ byte[]array=newbyte[100]; receivepacket=newDatagramPacket(array,array.length); receivesocket.receive(receivepacket);//接收 textArea1.append("\nfrom"+receivepacket.getAddress()+":" +receivepacket.getPort()+"get:"); Stringreceived=newString(receivepacket.getData(),0, receivepacket.getLength(),"UTF-8"); textArea1.append(received); }catch(IOExceptionse){ se.printStackTrace(); } } } voidbind(){//和對(duì)方建立連 try{ sendsocket=newDatagramSocket(3000); receivesocket=newDatagramSocket(3333); }catch(Exceptione){ } } voidbutton1_actionPerformed(ActionEvente){//發(fā)送消息到對(duì)方 Stringstr=textField2.getText(); Stringstr1=textField1.getText(); if(pareTo("")!=0&&!"".equals(str1)){ try{ textArea1.append("\nto"+textField2.getText()+":"+"3000" +"say:"+textField1.getText()); Strings=textField2.getText()+"|"+textField1.getText(); bytedata[]=s.getBytes("UTF-8"); sendpacket=newDatagramPacket(data,data.length,InetAddress .getByName("7"),6666); sendsocket.send(sendpacket); }catch(IOExceptionexc){ exc.printStackTrace(); } textField1.setText(""); } }}ChatApp.javapackageChatFrame_01;importjava.io.*;importjavax.swing.UIManager;importjava.awt.*;publicclassChatApp{ booleanpackFrame=false; ChatApp(){ ChatFrameframe=newChatFrame(); if(packFrame){ frame.pack(); }else{ frame.validate(); } //放置窗體在屏幕中央 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); DimensionframeSize=frame.getSize(); if(frameSize.height>screenSize.height){ frameSize.height=screenSize.height; } if(frameSize.width>screenSize.width){ frameSize.width=screenSize.width; } frame.setLocation((screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.height)/2); frame.setVisible(true); frame.waitforpackets(); } publicstaticvoidmain(String[]args){ newChatApp(); }}服務(wù)器端:Server.javapackageChatFrame_01;import.DatagramPacket;import.DatagramSocket;import.InetAddress;import.Socket;importjava.util.*;publicclassServer{ Listips=newArrayList(); DatagramSocketsocket; DatagramPacketpacket; DatagramSocketssocket; DatagramPacketspacket; publicServer()throwsException{ socket=newDatagramSocket(6666); ssocket=newDatagramSocket(8888); } publicvoidlisten()throwsException{ byte[]array=newbyte[100]; packet=newDatagramPacket(array,array.length); socket.receive(packet); byte[]data=packet.getData(); Stringreceived=newString(data,0,data.length,"UTF-8"); System.out.println(received); String[]ss=received.split("\\|"); Stringip=ss[0]; byte[]dt=ss[1].getBytes("UTF-8"); spacket=newDatagramPacket(dt,dt.length,InetAddress.getByName(ip),3333); ssocket.send(spacket); } publicstaticvoidmain(String[]args)throwsException{ Servers=newServer(); while(true){ s.listen(); } }}
論大學(xué)生寫(xiě)作能力寫(xiě)作能力是對(duì)自己所積累的信息進(jìn)行選擇、提取、加工、改造并將之形成為書(shū)面文字的能力。積累是寫(xiě)作的基礎(chǔ),積累越厚實(shí),寫(xiě)作就越有基礎(chǔ),文章就能根深葉茂開(kāi)奇葩。沒(méi)有積累,胸?zé)o點(diǎn)墨,怎么也不會(huì)寫(xiě)出作文來(lái)的。寫(xiě)作能力是每個(gè)大學(xué)生必須具備的能力。從目前高校整體情況上看,大學(xué)生的寫(xiě)作能力較為欠缺。一、大學(xué)生應(yīng)用文寫(xiě)作能力的定義那么,大學(xué)生的寫(xiě)作能力究竟是指什么呢?葉圣陶先生曾經(jīng)說(shuō)過(guò),“大學(xué)畢業(yè)生不一定能寫(xiě)小說(shuō)詩(shī)歌,但是一定要寫(xiě)工作和生活中實(shí)用的文章,而且非寫(xiě)得既通順又扎實(shí)不可?!睂?duì)于大學(xué)生的寫(xiě)作能力應(yīng)包含什么,可能有多種理解,但從葉圣陶先生的談話(huà)中,我認(rèn)為:大學(xué)生寫(xiě)作能力應(yīng)包括應(yīng)用寫(xiě)作能力和文學(xué)寫(xiě)作能力,而前者是必須的,后者是“不一定”要具備,能具備則更好。眾所周知,對(duì)于大學(xué)生來(lái)說(shuō),是要寫(xiě)畢業(yè)論文的,我認(rèn)為寫(xiě)作論文的能力可以包含在應(yīng)用寫(xiě)作能力之中。大學(xué)生寫(xiě)作能力的體現(xiàn),也往往是在撰寫(xiě)畢業(yè)論文中集中體現(xiàn)出來(lái)的。本科畢業(yè)論文無(wú)論是對(duì)于學(xué)生個(gè)人還是對(duì)于院系和學(xué)校來(lái)說(shuō),都是十分重要的。如何提高本科畢業(yè)論文的質(zhì)量和水平,就成為教育行政部門(mén)和高校都很重視的一個(gè)重要課題。如何提高大學(xué)生的寫(xiě)作能力的問(wèn)題必須得到社會(huì)的廣泛關(guān)注,并且提出對(duì)策去實(shí)施解決。二、造成大學(xué)生應(yīng)用文寫(xiě)作困境的原因:(一)大學(xué)寫(xiě)作課開(kāi)設(shè)結(jié)構(gòu)不合理。就目前中國(guó)多數(shù)高校的學(xué)科設(shè)置來(lái)看,除了中文專(zhuān)業(yè)會(huì)系統(tǒng)開(kāi)設(shè)寫(xiě)作的系列課程外,其他專(zhuān)業(yè)的學(xué)生都只開(kāi)設(shè)了普及性的《大學(xué)語(yǔ)文》課。學(xué)生寫(xiě)作能力的提高是一項(xiàng)艱巨復(fù)雜的任務(wù),而我們的課程設(shè)置僅把這一任務(wù)交給了大學(xué)語(yǔ)文教師,可大學(xué)語(yǔ)文教師既要在有限課時(shí)時(shí)間內(nèi)普及相關(guān)經(jīng)典名著知識(shí),又要適度提高學(xué)生的鑒賞能力,且要教會(huì)學(xué)生寫(xiě)作規(guī)律并提高寫(xiě)作能力,任務(wù)之重實(shí)難完成。(二)對(duì)實(shí)用寫(xiě)作的普遍性不重視?!按髮W(xué)語(yǔ)文”教育已經(jīng)被嚴(yán)重地“邊緣化”。目前對(duì)中國(guó)語(yǔ)文的態(tài)度淡漠,而是呈現(xiàn)出全民學(xué)英語(yǔ)的大好勢(shì)頭。中小學(xué)如此,大學(xué)更是如此。對(duì)我們的母語(yǔ)中國(guó)語(yǔ)文,在大學(xué)反而被漠視,沒(méi)有相關(guān)的課程的設(shè)置,沒(méi)有系統(tǒng)的學(xué)習(xí)實(shí)踐訓(xùn)練。這其實(shí)是國(guó)人的一種偏見(jiàn)。應(yīng)用寫(xiě)作有它自身的規(guī)律和方法。一個(gè)人學(xué)問(wèn)很大,會(huì)寫(xiě)小說(shuō)、詩(shī)歌、戲劇等,但如果不曉得應(yīng)用文寫(xiě)作的特點(diǎn)和方法,他就寫(xiě)不好應(yīng)用文。(三)部分大學(xué)生學(xué)習(xí)態(tài)度不端正。很多非中文專(zhuān)業(yè)的大學(xué)生對(duì)寫(xiě)作的學(xué)習(xí)和訓(xùn)練都只是集中在《大學(xué)語(yǔ)文》這一門(mén)課上,大部分學(xué)生只愿意被動(dòng)地接受大學(xué)語(yǔ)文老師所講授的文學(xué)經(jīng)典故事,而對(duì)于需要學(xué)生動(dòng)手動(dòng)腦去寫(xiě)的作文,卻是盡可能應(yīng)付差事,這樣勢(shì)必不能讓大學(xué)生的寫(xiě)作水平有所提高。(四)教師的實(shí)踐性教學(xué)不強(qiáng)。學(xué)生寫(xiě)作能力的提高是一項(xiàng)艱巨復(fù)雜的任務(wù),但在教學(xué)中有不少教師過(guò)多注重理論知識(shí),實(shí)踐性教學(xué)環(huán)節(jié)卻往往被忽視。理論講了一大堆,但是實(shí)踐卻幾乎沒(méi)有,訓(xùn)練也少得可憐。閱讀與寫(xiě)作都需要很強(qiáng)的實(shí)踐操作,學(xué)習(xí)理論固然必不可少,但是閱讀方法和寫(xiě)作技巧的掌握才是最重要的。由于以上的原因,我們的大學(xué)生的寫(xiě)作水平著實(shí)令人堪憂(yōu),那么如何走出這一困境,筆者提出一些建議,希望能對(duì)大學(xué)生寫(xiě)作水平的提高有所幫助。三、提高大學(xué)生應(yīng)用寫(xiě)作能力的對(duì)策(一)把《應(yīng)用寫(xiě)作》課設(shè)置為大學(xué)生的必修課。在中國(guó)的每一所大學(xué),《應(yīng)用寫(xiě)作》應(yīng)該成為大學(xué)生的必修課。因?yàn)樵谶@個(gè)被某些人形容為實(shí)用主義、功利主義甚囂塵上的時(shí)代,也是個(gè)人生存競(jìng)爭(zhēng)最激烈的時(shí)代,人們比任何時(shí)代都更需要學(xué)會(huì)寫(xiě)作實(shí)用性的文章,比如職場(chǎng)競(jìng)爭(zhēng)中的求職信,生活中的財(cái)經(jīng)文書(shū)、法律文書(shū)等,以提高個(gè)人的生存競(jìng)爭(zhēng)能力。(二)端正大學(xué)生的學(xué)習(xí)態(tài)度。首先,要讓大學(xué)生充分認(rèn)識(shí)到實(shí)用寫(xiě)作課的重要性,這門(mén)課關(guān)乎到他人生的每一個(gè)方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)醫(yī)藥外包服務(wù)市場(chǎng)供需狀況與投資規(guī)劃研究報(bào)告
- 2025-2030全球與中國(guó)應(yīng)用服務(wù)器行業(yè)發(fā)展現(xiàn)狀及趨勢(shì)預(yù)測(cè)分析研究報(bào)告
- 2026年浙江盛達(dá)鐵塔有限公司招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 中共珠海市委黨校2026年公開(kāi)招聘教師備考題庫(kù)及參考答案詳解1套
- 2025至2030礦業(yè)自動(dòng)化裝備市場(chǎng)趨勢(shì)與風(fēng)險(xiǎn)投資機(jī)會(huì)研究報(bào)告
- 2026年長(zhǎng)沙市公安局巡特警支隊(duì)公開(kāi)招聘普通雇員備考題庫(kù)帶答案詳解
- 建筑工程安全課件
- 2026年昭通市公安局招聘輔警備考題庫(kù)有答案詳解
- 2025-2030中國(guó)啤酒行業(yè)深度發(fā)展研究與“”企業(yè)投資戰(zhàn)略規(guī)劃報(bào)告
- 2026年雁塔區(qū)華育小天使幼兒園招聘5人備考題庫(kù)及完整答案詳解一套
- 2026上海碧海金沙投資發(fā)展有限公司社會(huì)招聘參考題庫(kù)含答案
- 2025年中小學(xué)校長(zhǎng)選拔筆試試題及答案
- 光伏發(fā)電項(xiàng)目設(shè)備維護(hù)合同范本
- 2026內(nèi)蒙古華能扎賚諾爾煤業(yè)限責(zé)任公司招聘50人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年京東慧采廠直考試京東自營(yíng)供應(yīng)商廠直考試題目及答案
- JJG 1148-2022 電動(dòng)汽車(chē)交流充電樁(試行)
- 周黑鴨加盟合同協(xié)議
- 黃色垃圾袋合同
- 骨科手術(shù)術(shù)前宣教
- 電梯安全培訓(xùn)課件下載
- 事業(yè)單位職工勞動(dòng)合同管理規(guī)范
評(píng)論
0/150
提交評(píng)論