本文主要是介绍TCP、UDP练习题 (UDP聊天程序、TCP上传文本文件和图片文件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TCP、UDP编程练习
TCP
☆上传文本文件
读取一个本地文本文件,将数据发送到服务端,服务器端对数据进行存储。 存储完毕后,给客户端一个提示。
一、解题思路
客户端:(1) 创建Socket对象----用服务器的ip+端口号
(2)读取文件内容
(3)通过socket把内容发送给服务器端(把socket中的输出流包装成“打印流”来进行发送文本,是一种比较安全的输出方式,不会出现失真。)
服务器端:(1) 创建服务器socket---ServerSocket
(2)通过ServerSocket获得客户端的socket
(3)通过客户端的socket,读取对方发来的数据,并把这些数据写到一个新建文件当中
二、注解和实现代码
UploadTextClient.java类
package net.tcp.textFileUpload;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;public class UploadTextClient {public static void main(String[] args) {try {//1 创建Socket对象----用服务器的ip+端口号Socket s = new Socket("127.0.0.1", 10000);//2 读取文件内容 //3 通过socket把内容发送给服务器端(把socket中的输出流包装成“打印流”来进行发送文本,是一种比较安全的输出方式,不会出现失真。)BufferedReader bufr = new BufferedReader( new FileReader("tempFile\\client.txt") );PrintWriter out = new PrintWriter(s.getOutputStream(), true);//发送String line = null;while((line=bufr.readLine())!=null){out.println(line);}//6 给服务器发送一个结束标记//out.println("%$#@88##K##");//发送自定义的结束标记s.shutdownOutput();//5 读取服务器端的反馈信息 s.getInputStream()BufferedReader bufr2 = new BufferedReader( new InputStreamReader(s.getInputStream()) );String text = bufr2.readLine();System.out.println("server:"+text);//4 关流bufr.close();out.close();
这篇关于TCP、UDP练习题 (UDP聊天程序、TCP上传文本文件和图片文件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!