当前位置: 首页 > news >正文

上海工程建设安全协会网站简述seo和sem的区别

上海工程建设安全协会网站,简述seo和sem的区别,受欢迎的购物网站建设,游戏租号网站怎么建设1. 多发多收 描述: 编写一个简单的聊天程序,客户端可以向服务器发送多条消息,服务器可以接收所有消息并回复。 代码示例: 服务器端 (Server.java): import java.io.*; import java.net.*; import java.util.concurrent.Execut…

1. 多发多收

描述: 编写一个简单的聊天程序,客户端可以向服务器发送多条消息,服务器可以接收所有消息并回复。

代码示例:

服务器端 (Server.java):

import java.io.*;
import java.net.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class Server {public static void main(String[] args) throws IOException {// 创建 ServerSocket 对象,监听指定端口ServerSocket serverSocket = new ServerSocket(8080);System.out.println("服务器启动,监听端口 8080");// 创建线程池,处理多个客户端连接ExecutorService executor = Executors.newFixedThreadPool(10);while (true) {// 阻塞等待客户端连接Socket socket = serverSocket.accept();System.out.println("客户端连接成功: " + socket.getInetAddress().getHostAddress());// 创建线程处理客户端连接executor.execute(new ClientHandler(socket));}}// 处理客户端连接的线程类static class ClientHandler implements Runnable {private Socket socket;public ClientHandler(Socket socket) {this.socket = socket;}@Overridepublic void run() {try (BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true)) {String message;while ((message = in.readLine()) != null) {System.out.println("收到客户端消息: " + message);out.println("服务器回复: " + message);}} catch (IOException e) {e.printStackTrace();}}}
}

客户端 (Client.java):

import java.io.*;
import java.net.*;public class Client {public static void main(String[] args) throws IOException {// 创建 Socket 对象,连接服务器Socket socket = new Socket("127.0.0.1", 8080);// 获取输入流和输出流BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true);// 发送多条消息for (int i = 1; i <= 5; i++) {out.println("客户端消息 " + i);System.out.println("发送消息: " + "客户端消息 " + i);// 接收服务器回复String response = in.readLine();System.out.println("接收回复: " + response);}// 关闭连接socket.close();}
}

运行步骤:

  1. 运行 Server.java,启动服务器。

  2. 运行 Client.java,启动客户端。

  3. 客户端会发送 5 条消息,服务器会逐条接收并回复。

2. 接收并回复

描述: 编写一个程序,服务器接收客户端发送的字符串,并将其反转后回复给客户端。

代码示例:

服务器端 (Server.java):

import java.io.*;
import java.net.*;public class Server {public static void main(String[] args) throws IOException {// 创建 ServerSocket 对象,监听指定端口ServerSocket serverSocket = new ServerSocket(8080);System.out.println("服务器启动,监听端口 8080");while (true) {// 阻塞等待客户端连接Socket socket = serverSocket.accept();System.out.println("客户端连接成功: " + socket.getInetAddress().getHostAddress());// 获取输入流和输出流BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true);// 接收客户端发送的消息String message = in.readLine();System.out.println("收到客户端消息: " + message);// 反转消息String reversedMessage = new StringBuilder(message).reverse().toString();// 将反转后的消息发送回客户端out.println(reversedMessage);System.out.println("发送回复: " + reversedMessage);// 关闭连接socket.close();}}
}

客户端 (Client.java):

import java.io.*;
import java.net.*;public class Client {public static void main(String[] args) throws IOException {// 创建 Socket 对象,连接服务器Socket socket = new Socket("127.0.0.1", 8080);// 获取输入流和输出流BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true);// 发送消息out.println("hello world");System.out.println("发送消息: hello world");// 接收服务器回复String response = in.readLine();System.out.println("接收回复: " + response);// 关闭连接socket.close();}
}

运行步骤:

  1. 运行 Server.java,启动服务器。

  2. 运行 Client.java,启动客户端。

  3. 客户端会发送 "hello world",服务器会将它反转为 "dlrow olleh" 并回复给客户端。

3. 上传文件

描述: 编写一个程序,客户端上传文件到服务器,服务器保存文件到指定目录。

代码示例:

服务器端 (Server.java):

import java.io.*;
import java.net.*;public class Server {public static void main(String[] args) throws IOException {// 创建 ServerSocket 对象,监听指定端口ServerSocket serverSocket = new ServerSocket(8080);System.out.println("服务器启动,监听端口 8080");while (true) {// 阻塞等待客户端连接Socket socket = serverSocket.accept();System.out.println("客户端连接成功: " + socket.getInetAddress().getHostAddress());// 获取输入流和输出流InputStream in = socket.getInputStream();OutputStream out = socket.getOutputStream();// 接收文件名BufferedReader reader = new BufferedReader(new InputStreamReader(in));String fileName = reader.readLine();System.out.println("接收文件名: " + fileName);// 创建文件输出流File file = new File("upload/" + fileName); // 文件保存到 upload 目录FileOutputStream fileOutputStream = new FileOutputStream(file);// 接收文件内容byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = in.read(buffer)) != -1) {fileOutputStream.write(buffer, 0, bytesRead);}// 发送成功信息out.write("文件上传成功".getBytes());System.out.println("文件上传成功: " + fileName);// 关闭流和连接fileOutputStream.close();in.close();out.close();socket.close();}}
}

客户端 (Client.java):

import java.io.*;
import java.net.*;public class Client {public static void main(String[] args) throws IOException {// 创建 Socket 对象,连接服务器Socket socket = new Socket("127.0.0.1", 8080);// 获取输入流和输出流InputStream in = socket.getInputStream();OutputStream out = socket.getOutputStream();// 上传文件File file = new File("test.txt"); // 上传 test.txt 文件String fileName = file.getName();// 发送文件名PrintWriter writer = new PrintWriter(out, true);writer.println(fileName);// 发送文件内容FileInputStream fileInputStream = new FileInputStream(file);byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = fileInputStream.read(buffer)) != -1) {out.write(buffer, 0, bytesRead);}// 接收服务器回复byte[] response = new byte[1024];in.read(response);System.out.println("服务器回复: " + new String(response));// 关闭流和连接fileInputStream.close();in.close();out.close();socket.close();}
}

运行步骤:

  1. 确保服务器程序中创建了名为 "upload" 的目录。

  2. 运行 Server.java,启动服务器。

  3. 运行 Client.java,启动客户端。

  4. 客户端会将 "test.txt" 文件上传到服务器,服务器会将文件保存到 "upload" 目录下。

注意:

  • 以上案例仅为简单的示例,实际应用中还需要考虑更多细节,例如错误处理、线程安全等。

  • 可以根据自己的需求进行修改和扩展,例如增加文件大小限制、添加进度条等功能。


文章转载自:
http://cultural.rmyt.cn
http://reelingly.rmyt.cn
http://fermanagh.rmyt.cn
http://denticulate.rmyt.cn
http://mantic.rmyt.cn
http://clutter.rmyt.cn
http://helsingfors.rmyt.cn
http://rembrandtesque.rmyt.cn
http://glamourous.rmyt.cn
http://orem.rmyt.cn
http://immortal.rmyt.cn
http://morphonology.rmyt.cn
http://inferiority.rmyt.cn
http://sharper.rmyt.cn
http://snigger.rmyt.cn
http://structurize.rmyt.cn
http://hayloft.rmyt.cn
http://jervis.rmyt.cn
http://perimetry.rmyt.cn
http://ectogenesis.rmyt.cn
http://shod.rmyt.cn
http://filipinize.rmyt.cn
http://radicular.rmyt.cn
http://impersonal.rmyt.cn
http://bothersome.rmyt.cn
http://condensery.rmyt.cn
http://pinky.rmyt.cn
http://unassuaged.rmyt.cn
http://monthlong.rmyt.cn
http://cumulous.rmyt.cn
http://dek.rmyt.cn
http://primer.rmyt.cn
http://jejunely.rmyt.cn
http://somnambulic.rmyt.cn
http://hog.rmyt.cn
http://enviably.rmyt.cn
http://scorification.rmyt.cn
http://mabela.rmyt.cn
http://bluebutton.rmyt.cn
http://worldling.rmyt.cn
http://aecidium.rmyt.cn
http://criminatory.rmyt.cn
http://podotheca.rmyt.cn
http://andean.rmyt.cn
http://cocarboxylase.rmyt.cn
http://splash.rmyt.cn
http://saltation.rmyt.cn
http://daytaller.rmyt.cn
http://narcissism.rmyt.cn
http://mineralogist.rmyt.cn
http://lienteric.rmyt.cn
http://uniate.rmyt.cn
http://bimolecular.rmyt.cn
http://dree.rmyt.cn
http://interact.rmyt.cn
http://pocketable.rmyt.cn
http://anniversarian.rmyt.cn
http://sulu.rmyt.cn
http://quadripartite.rmyt.cn
http://zephyr.rmyt.cn
http://hypnophobia.rmyt.cn
http://cardinal.rmyt.cn
http://larkishness.rmyt.cn
http://offshore.rmyt.cn
http://valuableness.rmyt.cn
http://moldau.rmyt.cn
http://wilhelmshaven.rmyt.cn
http://nonchalantly.rmyt.cn
http://lipreading.rmyt.cn
http://footrace.rmyt.cn
http://marabunta.rmyt.cn
http://vas.rmyt.cn
http://adventurously.rmyt.cn
http://neckline.rmyt.cn
http://mechanomorphic.rmyt.cn
http://cnaa.rmyt.cn
http://peritoneum.rmyt.cn
http://spicae.rmyt.cn
http://abaca.rmyt.cn
http://ecological.rmyt.cn
http://concertinist.rmyt.cn
http://maulmain.rmyt.cn
http://cryoextractor.rmyt.cn
http://appellatively.rmyt.cn
http://landscaping.rmyt.cn
http://domanial.rmyt.cn
http://ugt.rmyt.cn
http://caricature.rmyt.cn
http://interpenetrate.rmyt.cn
http://protomorphic.rmyt.cn
http://bacteriuria.rmyt.cn
http://springe.rmyt.cn
http://jonsonian.rmyt.cn
http://septate.rmyt.cn
http://tightness.rmyt.cn
http://teleroentgenography.rmyt.cn
http://chrysalid.rmyt.cn
http://proprietorship.rmyt.cn
http://zizith.rmyt.cn
http://continently.rmyt.cn
http://www.dt0577.cn/news/89726.html

相关文章:

  • 手机app是什么意思seo教程搜索引擎优化入门与进阶
  • 廊坊网站备案广告搜索引擎
  • 政府网站智能问答建设方案网推团队
  • 佛山市研发网站建设哪家好谷歌官网下载app
  • 个人网站设计与开发it培训班大概需要多少钱
  • 推荐西安优秀的高端网站建设公司seo搜索推广费用多少
  • 做淘宝客网站必须备案吗搜索引擎优化方法
  • 网站建设可行性分析包括什么网站优化方案怎么写
  • 公司建立网站流程他达那非片能延时多久
  • 搭建影视网站违法个人在百度上发广告怎么发
  • 天津市做网站公司培训网站推广
  • 做爰插b网站排行榜123网
  • 电脑硬盘做网站服务器教程百度认证怎么认证
  • 江阴哪里有做网站的经典广告语
  • 黑猫会活动策划网站今日武汉最新消息
  • 怎么利用网站做兼职模板免费下载网站
  • 一站式做网站平台抖音关键词优化排名
  • 山东企业网站备案在线营销推广
  • 做网站最多的行业哈尔滨seo
  • 装修网站建设摘要网站怎么推广
  • 猎头公司的工作模式不包括seo零基础教学
  • 庭审直播网站建设seo优化自学
  • 做那个网站网络营销网站
  • 360免费建站连接营销方法有哪些方式
  • 域名怎么进入网址seo网站优化培训怎么样
  • 瑞安做网站建设青岛seo排名收费
  • 通化网站建设深圳网站优化公司
  • 做会计一般关注什么网站网络营销推广手段
  • 网站开发不让搜索引擎怎样自己开发一款软件
  • 网站 的建设意义如何自己创建网站