ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:186.37KB ,
资源ID:5660006      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5660006.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Socket编程实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Socket编程实验报告.docx

1、Socket编程实验报告 实验报告实验一 Socket编程一、实验目的 通过socket程序的编写、调试,掌握socket编程的基本方法,了解客户端与服务器端的特点,掌握并熟悉运用socket类与ServerSocket类。2、实验内容学习socket编程使用的类和接口,着重掌握基于TCP协议的socket。编写服务器端的应用程序编写客户端的应用程序实现服务器端与客户端的交互3、实验代码1.服务器端程序过程:在端口5000上创建一个等待连接的ServerSocket对象server:server=new ServerSocket(5000);接着调用server对象的accept()方法等待某

2、客户程序发出连接请求。该方法一直阻塞直到有客户连接到带端口。一旦有客户发送正确请求,则连接成功,accept()方法返回一个Socket对象,于是得到了一个新的用于通信的Socket对象,通信链路建立成功。然后利用Socket类提供的方法创建Socket对象的输入流和输出流。此后即于客户端进行通信,直到客户端断开连接即关闭各个流结束通信。代码如下:import .*;import java.io.*; class aa static public void main (String args) throws IOException ServerSocket server=null; Socke

3、t socket=null; InputStream is=null; OutputStream os=null; DataInputStream in=null; PrintStream out=null; try /在端口5000注册服务 server=new ServerSocket(5000); socket =server.accept();/侦听连接请求,等待连接 System.out.println(*服务器端界面*); System.out.println(与客户端连接成功!); System.out.println(); System.out.println(对话内容为:);

4、 System.out.println(); System.out.println(等待客户发送信息.); /获取对应的Socket的输入/输出流 is=socket.getInputStream(); os=socket.getOutputStream(); /建立数据流 in= new DataInputStream(is); out =new PrintStream(os);/表示向对方输出 out.println(Welcome!);/表示向对方输出 String str=in.readLine();/逐行读取 do System.out.println(客户端说:+ str); st

5、r=in.readLine(); while(str.trim().equals(BYE) /如果是“BYE”就退出 System.out.println(客户想要离开); catch(Exception e) /捕获程序异常 System.out.println(Error:+e); finally is.close();/关闭输入流 os.close();/关闭输出流 in.close();/关闭数据输入流 socket.close();/关闭socket 2.客户端程序过程:首先创建一个指向服务器的指定端口号(5000)的Socket对象socket:socket=new Socket(

6、localhost,5000);此时服务器指定为本地计算机,若要在网络中指定服务器,只需要将参数localhost改成相应的服务器名或者IP地址即可。 然后程序利用Socket类提供的方法创建Socket对象的输入流和输出流。此后即于服务器通信,断开连接即关闭各个流结束通信。代码如下:import .*;import java.io.*; class bb static public void main (String args) throws IOException Socket socket=null; InputStream is=null; OutputStream os=null;

7、DataInputStream in=null; PrintStream out=null; String d=null; try /向本地服务器申请链接 /注意端口号要与服务器保持一致:5000 socket=new Socket(localhost,5000); System.out.println(*客户端界面*); System.out.println(与服务器连接成功!); System.out.println(); System.out.println(对话内容为:); System.out.println(); System.out.println(请输入信息:); /获取对应的

8、Socket的输入/输出流 is=socket.getInputStream(); os=socket.getOutputStream(); /建立数据流 in= new DataInputStream(is); out=new PrintStream(os); d=in.readLine(); System.out.println(服务器说:+d); byte a=new byte100; System.in.read(a); String b=new String(a,0); b=b.trim();/去点输入的第一个字符前的空格 while(!b.equals(BYE) out.print

9、ln(请输入您要发送的信息:+b);/如果输入的不是“BYE”,就向对方输出 System.in.read(a); b=new String(a,0); b=b.trim(); out.println(b); catch(Exception e)/捕获程序异常 System.out.println(Error:+e); finally is.close();/关闭输入流 os.close();/关闭输出流 socket.close();/关闭socket 四、程序运行过程1.运行客户端程序,当客户端程序运行后,服务器端立即显示连接成功并等待客户端发送信息,结果如下图. 服务器程序的运行结果 客

10、户端程序运行后的结果2.客户端向服务器端发送信息,如客户端发送信息“123456789”,服务器端显示客户端发来的信息,运行结果如下图。3.当客户端向服务器端发送信息“BYE”时,即关闭连接,如下图所示。五、实验心得首先我把类aa申明成为public类型,运行出现以下问题:类bb是公共的,应在名为bb.java的文件中申明。经过java书籍知:没有包的类不能被申明为public。服务器端的端口号必须与客户端的端口号一致。若不一致,会提示“.ConnectException: Connection refused: connect”;但是服务器端获取的不一定就是客户端的端口号,服务器端会在任意一

11、个空闲的端口创建socket对象,与客户端连接;而客户端获取的端口号即为服务器提供的端口号.端口号的选择一定要在1024以上,我先试图在100端口建立连接,运行程序时抛出BindException异常,即端口已被绑定。选择1024以上就是怕出现BindException异常,当并不是10245以下所有端口号都被绑定了。在实验过程中,我巩固了以前基础的java知识。初步熟悉并掌握了try-catch-finally的结构,学习了解异常处理的作用。了解Socket类与ServerSocket类的作用与用法,会用一些Socket类与ServerSocket类的重要方法。并且初步了解java中用来实现客户端TCP操作Socket类,这个类本身使用直接代码通过主机操作系统的本地TCP栈进行通信。Welcome ToDownload !欢迎您的下载,资料仅供参考!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1