基于TCPandUDPsocket编程

上传人:工**** 文档编号:464674823 上传时间:2023-06-16 格式:DOC 页数:7 大小:62KB
返回 下载 相关 举报
基于TCPandUDPsocket编程_第1页
第1页 / 共7页
基于TCPandUDPsocket编程_第2页
第2页 / 共7页
基于TCPandUDPsocket编程_第3页
第3页 / 共7页
基于TCPandUDPsocket编程_第4页
第4页 / 共7页
基于TCPandUDPsocket编程_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于TCPandUDPsocket编程》由会员分享,可在线阅读,更多相关《基于TCPandUDPsocket编程(7页珍藏版)》请在金锄头文库上搜索。

1、-*理工大学实验报告学院系名称:计算机与通信工程学院强*20126*专业计算机科学与技术中加班级教学2班实验工程基于TCP and UDP的socket编程课程名称计算机网络课程代码0662016实验时间2015年4月30日 第7、8节实验地点7-215批改意见成绩教师签字:(一) 实验目的:熟悉和掌握socket编程的根本理论和方法。掌握基于TCP和UDP的工作原理以及Socket编程的一般方法,能够编写简单的网络应用程序。二实验环境:软件环境:Windows 2000*P /Eclipse硬件环境:IBMPC或兼容机局域网、PC机连入Internet三实验学时:2学时,必做.(四) 实验容

2、:利用Java或C+语言,分别基于TCP和UDP编写一个简单的Client/Server网络应用程序。要现客户向效劳器传输任意一个字符串,效劳器将收到的字符串变换成大写后传回客户。五实验要求:每位同学上机编程实验,实验指导教师现场指导。程序可参考附录的程序1、程序2、程序3和程序4程序中有错误需完善。在实验报告中要说明Socket编程的客户端和效劳器端主要步骤、利用Java语言用到的主要类及其主要作用、TCP和UDP编程的主要差异和特点、你所实现的文件传输的程序代码、实验过程和实验结果。(六) 实验步骤:程序代码:TCPClient:package tcpClient;import java.

3、io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import .Socket;public class tcpClient private static Socket clientSocket;public static void main(String args) throws E*ception String sentence; / 声明字符串变量用于存储字符串输入和传送String modifiedSentence;/ 从效劳器得到,并送到用户标准输出System.out

4、.println(请输入要转换的字符串:);clientSocket = new Socket(localhost, 8579); / clientSocket为定义的套接字BufferedReader inFromUser = new BufferedReader( / 创立inFromUser程序的输入流new InputStreamReader(System.in); / 将流连接到标准输入DataOutputStream outToServer = new DataOutputStream( / DataOutputStream包含在java.io.*包中clientSocket.ge

5、tOutputStream();BufferedReader inFromServer = / inFromServer 连接套接字的输入流new BufferedReader(new InputStreamReader( / BufferedReader包含在java.io.*包中clientSocket.getInputStream();sentence = inFromUser.readLine(); / 将用户输入的一行 读入到sentence中outToServer.writeBytes(sentence + n); / outToServer程序的输出流modifiedSenten

6、ce = inFromServer.readLine();/ 当到达效劳器时,他们进入modifiedSentence字符串中System.out.println(FROM SERVER: + modifiedSentence);/ 将效劳器返回来的/ modifiedSentence打印到监视器上clientSocket.close(); / 关闭套接字,tcp连接也随之关闭TCP Server:package tcpServer;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.Inpu

7、tStreamReader;import .ServerSocket;class server private static ServerSocket weleSocket;public static void main(String argv) throws E*ception String clientSentence; / 声明字符串变量用于存储字符串输入和传送String capitalizedSentence; / 从从客户端得到weleSocket = new ServerSocket(8579);/ 创立weleSocket对象,在8579端口进展监听while (true) S

8、ocket connectionSocket = weleSocket.accept();/ 获取从客户端传来的字符BufferedReader infromClient = new BufferedReader(new InputStreamReader( / BufferedReader包含在java.io.*包中connectionSocket.getInputStream();DataOutputStream outToClient = / outToClient程 序的输出流new DataOutputStream(connectionSocket.getOutputStream()

9、;clientSentence = infromClient.readLine(); / 把用户输入的送入clientSentence中capitalizedSentence = clientSentence.toUpperCase() + n;/ 将发送行中的小写转换成大写outToClient.writeBytes(capitalizedSentence);执行结果:UDP Client:package udpClient;import java.io.BufferedReader;import java.io.InputStreamReader;import .DatagramPacke

10、t;import .DatagramSocket;ess;public class udpClient public static void main(String args) throws E*ception System.out.println(请输入要转换的字符串:);BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in); / 创立输入流,用于输入字符串DatagramSocket clientSocket = new DatagramSocket(); / 创立一个Datagram

11、Socket 对象InetAddress IPAddress = InetAddress.getByName(127.0.0.1); / 创立一个InetAddressbyte sendData = new byte1024; / 创立字节数组byte receiveData = new byte1024;String sentence = inFromUser.readLine(); / 读取输入的字符sendData = sentence.getBytes(); / 将字符串转化为字节数组DatagramPacket sendPacket = new DatagramPacket(send

12、Data, / 创立DatagramPacket 对象,/ 指定其发送地址和端口号sendData.length, IPAddress, 8876);clientSocket.send(sendPacket); / 调用 socket 对象的 send()方法发送数据DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length); / 创立 DatagramPacket 对象, 用于接收数据clientSocket.receive(receivePacket); / / 调用 socket 对象

13、的 receive()方法接收数据String modifiedSentence = new String(receivePacket.getData();System.out.println(FROM SERVER: + modifiedSentence);clientSocket.close(); / 关闭客户端socket连接UDP Server:package udpServer;import .DatagramPacket;import .DatagramSocket;import .InetAddress;public class udpServer public static v

14、oid main(String args) throws E*ception SuppressWarnings(resource)DatagramSocket serverSocket = new DatagramSocket(8876);/ 创立一个DatagramSocket/ 对象,指定端口为8876byte receiveData = new byte1024; / 创立字节数组byte sendData = new byte1024;while (true) DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length); / 创立一个空DatagramPacket对象serverSocket.receive(receivePacket); / 使用 receiver 方法接手客户端所发送到数据,/ 如果客户端没有发

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号