版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java开发进阶实验报告实验序旦实验项目名称:套接字通信实验地点实 1-518何征专业、班指导教师唐朝辉实验时间12软件工程2013326实验目的及要求了解套接字通信并且熟悉输入流、输出流得操作同时掌握套接字编程实验设备(环境)及要求win dows操作系统;EclipsePC计算机实验内容与步骤1.请看例子4-2。2.请看例子4-4。四、实验结果与数据处理石1匕 Edir IdUKcefSivrgdce 血.th 呼商白 口 MyLdipse 曲s 迪佔占a* Hlp ir- * h* *;-11Expdafaf H183 5QMi dw匚站世弭; | ikrvfThr*djjv* 2rvw
2、 rJ ma*|ff1 亡抚dbcd汐5rC田f划dMl:吟訥;7) ClientjbAQ) IMuklSprwerjffi-a 0 S.ErlhitmdJfv.k JREGhftPf |Jd- .IL IXliiibart jjublicjava.io.*fjava.ftE-Sockttc*C1ASS CliftbC.kiiobXiLC: tit Ak.tc i d. m*irii|SL-irLq4trjiSocfeftc 亡口 tinrc.T田忙 VALfiuft# 3otkj*c p ?$TKfer艸鳥Ml翼血IT人半径數度送务器,軸Ah贰结康誌 S&r&hg Qtir邸I會(*;: h
3、mi 1 hmi弋事日bC*Tww But?rd-RvwdtiHpMtStre-wnEB-Hdfr CFftcin-Iwbilv (四 fuMutToServer riteUTF mat守启i: | jutToServer, f lB:h. | J siiiSt-F- inlTrirferver r ceflflUTf (| ;il (! i.nftt匚,eqwa 1b: (b脅科 kSysT-em, 毗.pi: lot In 广从IB.务S!近回的结SjEri+io5tr) 7vegonHlEl.R4;*_ Probms- Jjdoc -;. &e-djrjtianQ CansdcMulti
4、Sisn-tr |jifd 4pp it怖L15tr5Vldmini5trjrtorfi(ipDtdliLac*F16tnurtec:C,-*iin:32BK&_l,BrDj51Jbinavfiw!j!0 :tTl口 utTc 3Li7er 口r IE e(TTF 31 .aidtrcJelvkx-1 usb(| 口 AaQWgwl L我ifl: r *如sgTsi. gtrr _ -二 亠 rnsqT -Kt.I rra I k*i 甌无一戶觐I t-TdSC-Ept-d de. sL) CspwM I-锁訂的見;feuT陰scJ早F?Mi%-ak t *|-1 ! lr初|*丰方蜕t PD
5、CJ?r-*mFrpiftn&甘闕I.貶朋龍炖.孑星卜御如 盘说:垣花加说卅 甘柳r不H忌助了雌五、分析与讨论编写的过程当中,客户端和服务端经常出现系统崩溃,后来才发现是编写的代码出现 了问题,导致使用不了,后来在努力查找下终于实现了运行。第二个实验也是,比较多的问 题都是代码出错,表示写得有点纠结,不过之后经过修改就成功了。发现细心很重要。成绩六、教师评语签名:日期:列出程序代码:(1)、importjava.io.*;importjava .n et.*;importjava .n et.Socket;publicclass ServerThreadexte nds Thread priv
6、ate Socketconn ectToClie nt;private Datal nputStreaminF romClie ntprivate DataOutputStream outToClient ;public ServerThread(Socket socket) throws IOException super ();.getInputStream();.getOutputStream();connectToClient =socket; inFromClient =new DataInputStream( connectToClient outToClient =new Dat
7、aOutputStream( connectToClientstart();public void run() try String str;double radius,area; boolean goon= true while (goon).readUTF();bye )parseDouble (str);str= inFromClient if (!str.equals( radius=Double.System. out .println( 接收到得半径值为: +radius); area=radius*radius*Math. PI ;str=Double. outToClientt
8、oString (area);.writeUTF(str);outToClient.flush();System. out .println( 圆面积 +str+ 已经发送 ); else goon= false ;outToClient .writeUTF( bye );outToClient .flush(); inFromClient .close();outToClient .close();connectToClient .close(); catch (IOException e)e.printStackTrace();(2)import java.io.*;import .*;p
9、ublic class MultiServer public static voidmain( Stri ng args) try System. out .println(“ 等待连接“);ServerSocket serverSocket=new ServerSocket(3500);Socket conn ectToClie nt=n ull ;while (true )conn ectToClie nt=serverSocket.accept(); new ServerThread(c onn ectToClie nt); catch (IOException e)e.pri ntSt
10、ackTrace();(3)importjava.io.*;importjava .n et.*;importjava .n et.Socket;publicclassClie nt public static void main( Stri ng args)try Socket conn ectToServer=new Socket( localhostData In putStream inF romServer=newDataI nputStream(c onn ectToServer.getI nputStream();DataOutputStream outToServer=newD
11、ataOutputStream(c onn ectToServer.getOutputStream();Stri ng outStr,i nStr;boolean goon= true ;BufferedReader buf=new BufferedReader( newInputStreamReader(System.in );while (go on)outStr=buf.readLi ne();outToServer.writeUTF(outStr);outToServer.flush();in Str=i nF romServer.readUTF();if (!inStr.equals
12、(bye)System. out .println(从服务器返回的结果是elsegoon= false ;,200);+i nStr);inF romServer.close();outToServer.close(); conn ectToServer.close(); catch (lOException e)e.pri ntStackTrace();(3)importjava.io.*;importjava .n et.*;importjava .n et.Socket;publicclassClie nt public static void main( Stri ng args)tr
13、y Socket conn ectToServer=new Socket( localhostData In putStream inF romServer=newDataI nputStream(c onn ectToServer.getI nputStream();DataOutputStream outToServer=newDataOutputStream(c onn ectToServer.getOutputStream();System. out .println( 输入半径数值发送到服务器,输入 Stri ng outStr,i nStr;booleangoon= true ;B
14、ufferedReader buf=new BufferedReader( newInputStreamReader(System.in );while (go on)outStr=buf.readLi ne();outToServer.writeUTF(outStr);outToServer.flush();in Str=i nF romServer.readUTF();if (!inStr.equals(bye)System. out .println( 从服务器返回的结果是 elsegoon= false ;inF romServer.close();outToServer.close(
15、);conn ectToServer.close(); catch (IOException e)e.pri ntStackTrace();,);bye 结束。“);+i nStr);(1 )、 import java.io.*;import.*;importjava.awt.*;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.*;importjavax.swing.*;publicclass chatServerJTextArea showAreaimplements ActionListener
16、,RunnableJTextField msgTextJFrame mainJframeJButton sentBtn ;JScrollPane JSPane JPanel pane ;Container con ; Thread thread =nullServerSocket serverSocket Socket connectToClient ; DataInputStream inFromClientDataOutputStream outToClientpublic chatServer()mainJframe =new JFrame( 聊天服务器端 );con = mainJfr
17、ame .getContentPane();showArea =new JTextArea(); showArea .setEditable(false );showArea .setLineWrap(true );showArea );this );JSPane =new JScrollPane( msgText .setColumns(30); msgText .addActionListener( sentBtn =new JButton( 发送 );sentBtn .addActionListener( this );pane =new JPanel();pane .setLayout
18、( new FlowLayout();pane .add( msgText );pane .add( sentBtn );con .add( JSPane ,BorderLayout. CENTER); con .add( pane ,BorderLayout. SOUTH); mainJframe .setSize(500,400);mainJframe .setVisible( true );try serverSocket =new ServerSocket(5500); showArea .append( 正在等待对话请求 n ); connectToClient = serverSo
19、cket .accept();inFromClient =newDataInputStream(connectToClient.getInputStream();outToClient =newDataOutputStream(connectToClient.getOutputStream();thread=new Thread( this);thread.setPriority(Thread.MIN_PRIORITYthread.start(); catch (IOException e)showArea .append( 对不起,不能创建服务器 n ); msgText .setEdita
20、ble( false );sentBtn .setEnabled( false );public static void main(String args)new chatServer();public void actionPerformed(ActionEvent e)String s= msgText .getText();if (s.length()0)try outToClient .writeUTF(s);outToClient .flush();n );showArea .append( 我说 : + msgText .getText()+ catch (IOException
21、e1)未能发送出去showArea .append( 你的消息: ”+msgText .getText()+n );public void run()try while ( true )showArea .append( 对方说: +inFromClient .readUTF()+ n );Thread. sleep (1000); catch (IOException el) catch (InterruptedException e)实验二import java.awt.*;import java.awt.event.*;import java.io.*;import .*;import
22、javax.swing.*;public class chatClient implements ActionListener,Runnable JTextArea showArea;JTextField msgText;JFrame mainJframe;JButton sentBtn;JScrollPane JSPane;JPanel pane;Container con;Thread thread=null;Socket connectToServer;DataInputStream inFromServer;DataOutputStream outToServer;public cha
23、tClient()mainJframe=new JFrame( 聊天 客户端 );con=mainJframe.getContentPane(); showArea=new JTextArea(); showArea.setEditable(false); showArea.setLineWrap(true);JSPane=new JScrollPane(showArea); msgText=new JTextField(); msgText.setColumns(30); msgText.addActionListener(this); sentBtn=new JButton( 发送 );
24、sentBtn.addActionListener(this); pane=new JPanel();pane.setLayout(new FlowLayout(); pane.add(msgText);pane.add(sentBtn);con.add(JSPane, BorderLayout.CENTER); con.add(pane, BorderLayout.SOUTH); mainJframe.setSize(500,400);mainJframe.setVisible(true); mainJframe.setDefaultCloseOperation(JFrame.EXIT_ON
25、_CLOSE);try connectToServer=new Socket(localhost,5500); inFromServer=new DataInputStream( connectToServer.getInputStream();outToServer=new DataOutputStream( connectToServer.getOutputStream();showArea.append( 连接成功,请说话 n); thread=new Thread(this);thread.setPriority(Thread.MIN_PRIORITY); thread.start()
26、;catch(IOException e) showArea.append( 对不起 ,没能连接到服务器 n); msgText.setEditable(false); sentBtn.setEnabled(false);public static void main(String args)new chatClient();public void actionPerformed(ActionEvent e)String s=msgText.getText(); if(s.length()0)try outToServer.writeUTF(s); outToServer.flush(); s
27、howArea.append( 我说: +msgText.getText()+n); msgText.setText(null);catch(IOException el) showArea.append( 你的消息: +msgText.getText()+ 未能发送出去 n);public void run() try while(true) showArea.append( 对方说: +inFromServer.readUTF()+n); Thread.sleep(1000);catch(IOException el) catch(InterruptedException e)服务端:im
28、port java.awt.*;import java.awt.event.*;import java.io.*;import .*;import javax.swing.*;public class chatServer implements ActionListener,Runnable JTextArea showArea;JTextField msgText;JFrame mainJframe;JButton sentBtn;JScrollPane JSPane;JPanel pane;Container con;Thread thread=null;ServerSocket serv
29、erSocket;Socket connectToClient;DataInputStream inFromClient; DataOutputStream outToClient; public chatServer()mainJframe=new JFrame( 聊天 服务器端 );con=mainJframe.getContentPane(); showArea=new JTextArea(); showArea.setEditable(false); showArea.setLineWrap(true);JSPane=new JScrollPane(showArea); msgText
30、=new JTextField(); msgText.setColumns(30); msgText.addActionListener(this); sentBtn=new JButton( 发送 ); sentBtn.addActionListener(this); pane=new JPanel();pane.setLayout(new FlowLayout(); pane.add(msgText);pane.add(sentBtn);con.add(JSPane, BorderLayout.CENTER); con.add(pane, BorderLayout.SOUTH); mainJframe.setSize(500,400); mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业高质量发展实施方案
- 2026年大学生寒假返家乡社会实践活动报告三
- 小学数学五年级《3的倍数的特征》核心知识清单
- 外墙铝板幕墙施工质量控制(完整版)
- 防雷接地施工方案
- 项目实施组织方案
- 小学语文识字教学策略与评价标准
- 新能源项目投资评估报告模板
- 小学五年级植树数学应用题汇编
- 小学数学知识点精讲及练习
- 2024版2026春新版三年级下册道德与法治全册教案教学设计
- 2026年郑州澍青医学高等专科学校高职单招职业适应性测试模拟试题及答案详细解析
- 第五单元达标练习(单元测试)2025-2026学年二年级语文下册统编版(含答案)
- 2026春译林8下单词表【Unit1-8】(可编辑版)
- 2026年郑州市高三语文一模作文题目解析及范文:从容非彼岸工夫是舟楫
- 2026年渤海船舶职业学院单招职业技能测试题库及参考答案详解
- 虚拟电厂建设项目可行性研究报告
- 2026年湖南汽车工程职业学院单招职业技能考试题库及参考答案详解1套
- 护理工作风险隐患与识别
- DB21-T 4324-2025 城市更新改造地下管道无损检测技术规程
- 三年(2023-2025)中考化学真题分类汇编(全国):专题22 实验探究题(解析版)
评论
0/150
提交评论