计算机网络原理实验报告 基于TCPUDP的Socket编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告学院(系)名称:计算机科学与工程学院
Tcpsever:
package uppercase;
import java.io.*;
import .*;
class TCPServer{
public static void main(String argv[]) throws Exception
{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(1234);
while(true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader infromClient = new BufferedReader(new InputStreamReader(connectionSocket. getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = infromClient. readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
用udp完成字符串大写
Udpsever:
package uppercase;
import java.io.*;
import .*;
class UDPServer {
clientSocket.send(sendPacket);
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);
String modifiedSentence =
new String(receivePacket.getData());
System.out.println("FROM SERVER:" + modifiedSentence);
clientSocket.close();
}
}
用tcp传输文件
package uppercase;
import java.io.*;
import .Socket;
class TCPFileClient {
public static void main(String argv[]) throws Exception
{
String HOST = "0.0.0.0";
String filePath = "D:/bn/";
BufferedReader infromUser = new BufferedReader(new InputStreamReader(System.in));
String fileName = infromUser.readLine();
BufferedWriter bWriter = new BufferedWriter(new FileWriter(filePath + fileName));
Socket clientSocket = new Socket(HOST, 8810);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
Socket connectionSocket = welcomeSocket.accept();
BufferedReader infromClient = new BufferedReader(new InputStreamReader(connectionSocket. getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
fileName = infromClient.readLine();
BufferedReader bReader = new BufferedReader(new FileReader(filePath + fileName));
String strLine = null;
outToClient.writeBytes("PREPARE\n");
while((strLine = bReader.readLine()) != null) {
System.out.println(strLine);
if (infromClient.readLine().contains("OK")){
outToClient.writeBytes(strLine + '\n');
}
}
outToClient.writeBytes("DONE\n");
break;
}
}
}
5.实验结论与分析:
通过此次实验使我熟悉和掌握socket编程的基本理论和方法。掌握基于TCP和UDP的工作原理以及Socket编程的一般方法,能够编写简单的网络应用程序。为以后的学习打下了良好的基础。