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

重庆最火的网站网站公司好做吗

重庆最火的网站,网站公司好做吗,如何进行app推广,商业网站设计方案模板使用VSCode创建Java C/S架构项目 在VSCode中创建Java客户端/服务器(C/S)架构项目需要一些配置步骤。下面我将指导您完成整个过程。 环境准备 安装VSCode安装Java扩展包(Extension Pack for Java)安装JDK(建议JDK 11或更高版本) 创建项目结构 1. 创建项目文件夹结构 java-cs-pro…

使用VSCode创建Java C/S架构项目

在VSCode中创建Java客户端/服务器(C/S)架构项目需要一些配置步骤。下面我将指导您完成整个过程。

环境准备

  1. 安装VSCode
  2. 安装Java扩展包(Extension Pack for Java)
  3. 安装JDK(建议JDK 11或更高版本)

创建项目结构

1. 创建项目文件夹结构

java-cs-project/
├── client/
│   ├── src/
│   │   └── Client.java
│   └── bin/
├── server/
│   ├── src/
│   │   └── Server.java
│   └── bin/
└── shared/├── src/│   └── Message.java└── bin/

2. 创建共享消息类

首先创建shared/src/Message.java:

import java.io.Serializable;public class Message implements Serializable {private String sender;private String content;private long timestamp;public Message(String sender, String content) {this.sender = sender;this.content = content;this.timestamp = System.currentTimeMillis();}// Getters and setterspublic String getSender() { return sender; }public void setSender(String sender) { this.sender = sender; }public String getContent() { return content; }public void setContent(String content) { this.content = content; }public long getTimestamp() { return timestamp; }@Overridepublic String toString() {return "[" + new java.util.Date(timestamp) + "] " + sender + ": " + content;}
}

3. 创建服务器端

创建server/src/Server.java:

import java.io.*;
import java.net.*;
import java.util.concurrent.*;public class Server {private static final int PORT = 12345;private static ExecutorService pool = Executors.newFixedThreadPool(10);public static void main(String[] args) {try (ServerSocket serverSocket = new ServerSocket(PORT)) {System.out.println("Server started on port " + PORT);while (true) {Socket clientSocket = serverSocket.accept();System.out.println("New client connected: " + clientSocket.getInetAddress());ClientHandler clientThread = new ClientHandler(clientSocket);pool.execute(clientThread);}} catch (IOException e) {System.err.println("Server exception: " + e.getMessage());e.printStackTrace();} finally {pool.shutdown();}}private static class ClientHandler implements Runnable {private Socket clientSocket;private ObjectOutputStream out;private ObjectInputStream in;public ClientHandler(Socket socket) {this.clientSocket = socket;}@Overridepublic void run() {try {out = new ObjectOutputStream(clientSocket.getOutputStream());in = new ObjectInputStream(clientSocket.getInputStream());Message message;while ((message = (Message) in.readObject()) != null) {System.out.println("Received: " + message);// Echo back to clientout.writeObject(message);out.flush();}} catch (IOException | ClassNotFoundException e) {System.out.println("Client disconnected: " + clientSocket.getInetAddress());} finally {try {if (in != null) in.close();if (out != null) out.close();if (clientSocket != null) clientSocket.close();} catch (IOException e) {e.printStackTrace();}}}}
}

4. 创建客户端

创建client/src/Client.java:

import java.io.*;
import java.net.*;
import java.util.Scanner;public class Client {private static final String SERVER_ADDRESS = "localhost";private static final int SERVER_PORT = 12345;public static void main(String[] args) {try (Socket socket = new Socket(SERVER_ADDRESS, SERVER_PORT);ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());ObjectInputStream in = new ObjectInputStream(socket.getInputStream());Scanner scanner = new Scanner(System.in)) {System.out.println("Connected to server at " + SERVER_ADDRESS + ":" + SERVER_PORT);// Thread for receiving messages from serverThread receiveThread = new Thread(() -> {try {Message receivedMessage;while ((receivedMessage = (Message) in.readObject()) != null) {System.out.println(receivedMessage);}} catch (IOException | ClassNotFoundException e) {System.out.println("Disconnected from server");}});receiveThread.start();// Main thread for sending messagesSystem.out.print("Enter your name: ");String name = scanner.nextLine();String input;while (true) {System.out.print("Enter message (or 'quit' to exit): ");input = scanner.nextLine();if ("quit".equalsIgnoreCase(input)) {break;}Message message = new Message(name, input);out.writeObject(message);out.flush();}} catch (UnknownHostException e) {System.err.println("Don't know about host " + SERVER_ADDRESS);} catch (IOException e) {System.err.println("Couldn't get I/O for the connection to " + SERVER_ADDRESS);e.printStackTrace();}}
}

配置VSCode

1. 创建工作区设置

在项目根目录创建.vscode/settings.json:

{"java.project.sourcePaths": ["client/src","server/src","shared/src"],"java.project.outputPath": "bin","java.project.referencedLibraries": []
}

2. 配置启动任务

创建.vscode/launch.json:

{"version": "0.2.0","configurations": [{"type": "java","name": "Launch Server","request": "launch","mainClass": "Server","projectName": "server","classPaths": ["shared/bin"]},{"type": "java","name": "Launch Client","request": "launch","mainClass": "Client","projectName": "client","classPaths": ["shared/bin"]}]
}

编译和运行

  1. 首先编译共享模块:

    javac -encoding UTF-8 -d shared/bin shared/src/Message.java
    
  2. 编译服务器:

    javac -encoding UTF-8 -cp "shared/bin" -d server/bin server/src/Server.java
    
  3. 编译客户端:

    javac -encoding UTF-8 -cp "shared/bin" -d client/bin client/src/Client.java
    
  4. 运行服务器:

    java -cp "server/bin;shared/bin" Server
    
  5. 运行客户端(在另一个终端):

    java -cp "client/bin;shared/bin" Client
    

使用VSCode运行和调试

  1. 打开VSCode的"Run and Debug"视图
  2. 选择"Launch Server"配置并运行
  3. 选择"Launch Client"配置并运行(可以运行多个客户端实例)

注意:端口(12345)改成自己的,不要被占用

扩展建议

  1. 添加GUI界面(使用JavaFX或Swing)
  2. 实现数据库持久化
  3. 添加用户认证系统
  4. 实现群组聊天功能
  5. 添加文件传输功能

这个基础C/S架构为您提供了一个起点,您可以根据需要进一步扩展功能。

http://www.dtcms.com/a/526669.html

相关文章:

  • 建设一个网站首先需要阿里云网站建设方案
  • 【C++】异步操作
  • 网站做推广团队郑州seo技术外包
  • 企业网站建设商城百度做的网站国外可以打开吗
  • .net 网站开发工程师com域名多少钱
  • 自己做资金盘网站推荐一个seo优化软件
  • asp网站后台管理教程企业人力资源管理师报名入口官网
  • 建设银行的网站网站建设那好
  • 找人做网站做的很烂香奈儿网站建设策划书
  • 北辰苏州网站建设小程序定制团队
  • 公司做推广做网站好还是宜昌做网站的公司
  • C++ STL 容器与算法详解
  • 网站推广途径和推广要点的案例讨论杭州市建设工程交易中心网站
  • 网站之间的区别中铁建设集团有限公司西南分公司
  • 做dj音乐网站漳州商城网站建设
  • 网站建设实验报告手写上海网站建设 知名觉
  • 网站功能设计建设通账号
  • 图片网站怎样选择虚拟主机网站改版后 存在大量404页面
  • 华为云速建站教程wordpress获取别名
  • 做中考试卷的网站企业网站的首页
  • iis配置wap网站外贸型网站
  • 深圳东莞的网站建设公司手机端开发工具
  • 设计高端网站易语言可以做网站吗
  • 企业产品做哪个网站推广好谷歌seo培训
  • 六安有哪些做网站的公司微信怎么创建小程序?
  • 数字化转型:概念性名词浅谈(第七十九讲)
  • 现在1做啥网站流量大最专业的手机网站建设
  • 开一个做网站的公司赚钱吗做网站能接到模具单吗
  • 可以用自己的电脑做网站主机wordpress主题不能用
  • 有哪些好的做问卷调查的网站做网站时如何上传图片