欢迎来到天天文库
浏览记录
ID:6382150
大小:161.98 KB
页数:30页
时间:2018-01-12
《计算机网络tcp聊天室实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机网络原理实验报 告书 姓名:XXX 班级:XXXXXX 学号:XXXXXXXXXXXXXXXXXXXXXX二0一一年五月socket编程一、实验目的本次实验的目的是通过利用Socket编写简单的客户/服务器程序,了解TCP/IP网络的基本通信原理和编程方法,初步掌握TCP/IP网络的传输层上的编程接口(WindowsSocketsAPI),学会利用这些接口来编写简单的网络通信软件。二、实验内容利用socket编写简单的客户/服务器程序,比如聊天室、文件传输等。三、实验步骤Ø思路分析²将服务器
2、与客户端分两部分实现,采用多线程实现多个客户端与服务器端连接²客户端建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。²服务器端通过创建一个Socket的Arraylist数组,与指定的本地端口绑定,就可以在端口进行侦听。如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。然后登录成功的客户就可以在服务器上聊天了。Ø代码实现ØpackageTCP_chat_room.gui;ØØimportjava.io.IOException;ØØpubliccla
3、ssClientApp{Øpublicstaticvoidmain(String[]args){Ø/**Ø*javax.swing.UIManager$LookAndFeelInfo[Metaljavax.swing.plaf.metal.MetalLookAndFeel]Øjavax.swing.UIManager$LookAndFeelInfo[Nimbuscom.sun.java.swing.plaf.nimbus.NimbusLookAndFeel]Øjavax.swing.UIManager$LookAndFeelI
4、nfo[CDE/Motifcom.sun.java.swing.plaf.motif.MotifLookAndFeel]Øjavax.swing.UIManager$LookAndFeelInfo[Windowscom.sun.java.swing.plaf.windows.WindowsLookAndFeel]Øjavax.swing.UIManager$LookAndFeelInfo[WindowsClassiccom.sun.java.swing.plaf.windows.WindowsClassicLookAndFee
5、l]Ø*@authorAdministratorØ*Ø*/Øtry{Ø//使用Nimbus皮肤ØUIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");Ø//localhost或127.0.0.1ØClientFramefrClientFrame=newClientFrame("localhost",Server.CHAT_ROOM_PORT);ØfrClientFrame.setConnected(true);ØfrClient
6、Frame.setVisible(true);Ø//如果登录成功Øif(frClientFrame.login("222")){ØfrClientFrame.receiveMessage();Ø}Ø}catch(ClassNotFoundExceptione){Øe.printStackTrace();Ø}catch(InstantiationExceptione){Øe.printStackTrace();Ø}catch(IllegalAccessExceptione){Øe.printStackTrace();Ø}catc
7、h(UnsupportedLookAndFeelExceptione){Øe.printStackTrace();Ø}catch(IOExceptione){Øe.printStackTrace();Ø}Ø}ØØØ}packageTCP_chat_room.action;importjava.awt.AWTException;publicclassClientFrameActionextendsWindowAdapter{privateClientFramefrClientFrame;publicClientFrameActi
8、on(ClientFramefrClientFrame){this.frClientFrame=frClientFrame;}publicvoidwindowIconified(WindowEvente){if(SystemTray.isSupported()){finalS
此文档下载收益归作者所有