欢迎来到天天文库
浏览记录
ID:56198457
大小:138.50 KB
页数:12页
时间:2020-03-20
《实验四-基于Socket的CS程序.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、淮海工学院计算机工程学院实验报告书课程名:计算机网络题目:基于Socket的C/S程序开发班级:G学号:姓名:评语:成绩:指导教师:批阅时间:年月日一、实验目的理解和巩固传输层与套接字的基本知识,掌握利用套接字实现面向连接的数据传输的一般方法,深入理解客户/服务器工作模式,学会简单的客户/服务器程序的开发。二、实验内容利用Java语言提供的Socket技术,建立一个C/S模式的应用,允许客户端用户输入2个整数,服务器端接收这2个整数,并计算出它们的和、差、积、商,最后送回客户端。服务器端ServerSo
2、cket类(java.net.ServerSocket)构造方法:publicServerSocket(int port)throwsIOException——S_1接受连接请求:publicSocketaccept()throwsIOException——S_2客户端Socket类(java.net.Socket)构造方法:publicSocket(String host,int port)throwsUnknownHostException,IOException——C_1读取数据:publicIn
3、putStreamgetInputStream()throwsIOException——S_5,C_3发送数据:publicOutputStreamgetOutputStream()throwsIOException——S_3,C_4服务器端编程创建ServerSocket对象ServerSocketserver=newServerSocket(8000);监听来自客户端的请求SocketlinkSocket=server.accept();与客户端进行通信利用linkSocket.getInputSt
4、ream()接收客户端数据;对读取的数据进行加、减、乘、除计算;利用linkSocket.getoutputStream()向客户端发送计算结果;监听结束时关闭服务器server.close();客户端编程建立连接Socketclient=newSocket(“ServerComputerName”,8000);与服务器进行通信从键盘读入两个整数;利用client.getoutputStream()向服务器端发送数据;利用client.getInputStream()接收服务器端结果;显示从服务器端得到
5、的结果;释放连接Client.close();要求:在一台主机上安装并运行服务器端程序,在另一台计算机上安装并运行客户端程序,测试所编写的程序能否完成规定的功能。一、实验步骤与源程序源程序:服务器:importjava.net.*;importjava.util.*;importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassServer{publicServer(){ServerSocke
6、tserver=null;Server_threadthread;Socketyou=null;while(true){try{server=newServerSocket(8755);}catch(IOExceptione1){System.out.println("正在监听");}//ServerSocket对象不能重复创建try{System.out.println("等待客户呼叫");you=server.accept();System.out.println("已连接到客户");System.
7、out.println("客户的地址:"+you.getInetAddress());}catch(IOExceptione){System.out.println("正在等待客户");}if(you!=null){newServer_thread(you).start();}//为每个客户启动一个专门的线程}}publicstaticvoidmain(Stringargs[]){newServer();}}classServer_threadextendsThread{Socketsocket;Dat
8、aOutputStreamout=null;DataInputStreamin=null;Strings=null;booleanquesion=false;Server_thread(Sockett){socket=t;try{out=newDataOutputStream(socket.getOutputStream());in=newDataInputStream(socket.getInputStream());}catch(IOE
此文档下载收益归作者所有