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

网站制作公司合肥seo的中文含义

网站制作公司合肥,seo的中文含义,商城网站建设需要多少钱,汕头有建网站公司吗JavaTCP协议实现一对一聊天与UDP协议实现群聊案例 1.TCP协议实现一对一聊天 1.1服务端运行结果 1.2客服端运行结果 1.3代码汇总 服务端 package twentyone;import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.…

JavaTCP协议实现一对一聊天与UDP协议实现群聊案例

1.TCP协议实现一对一聊天

1.1服务端运行结果

在这里插入图片描述

1.2客服端运行结果

在这里插入图片描述

1.3代码汇总

服务端
package twentyone;import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class Server {public static void main(String[] args) {try {ServerSocket serverSocket = new ServerSocket(12345); // 使用端口12345System.out.println("等待客户端连接...");Socket clientSocket = serverSocket.accept(); // 等待客户端连接System.out.println("客户端已连接");// 获取输入输出流BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);// 读取客户端消息并回复String clientMessage;while ((clientMessage = in.readLine()) != null) {System.out.println("张超(客户端): " + clientMessage);// 从控制台读取服务器消息并发送给客户端BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));System.out.print("  蒂蒂(服务器): ");String serverMessage = consoleReader.readLine();out.println(serverMessage);}} catch (IOException e) {e.printStackTrace();}}
}
客户端
package twentyone;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;public class Client {public static void main(String[] args) {try {Socket socket = new Socket("localhost", 12345); // 连接服务器// 获取输入输出流BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true);// 从控制台读取客户端消息并发送给服务器BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));String clientMessage;while (true) {System.out.print("张超(客户端): ");clientMessage = consoleReader.readLine();out.println(clientMessage);// 读取服务器消息并打印String serverMessage = in.readLine();System.out.println("蒂蒂(服务器)" + serverMessage);}} catch (IOException e) {e.printStackTrace();}}
}

2.UDP协议实现群聊

2.1服务端运行结果

在这里插入图片描述

在这里插入图片描述

2.2客户端运行结果

在这里插入图片描述

2.3代码汇总

第一服务端
package twentyone;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class UDPServer {public static void main(String[] args) {try {DatagramSocket serverSocket = new DatagramSocket(12345);System.out.println("第一个服务器已启动,等待客户端加入...");while (true) {byte[] receiveData = new byte[1024];// 接收客户端消息DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);serverSocket.receive(receivePacket);String clientMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());System.out.println("第一个服务器收到来自 " + receivePacket.getAddress() + ":" + receivePacket.getPort() + " 的消息: " + clientMessage);// 广播消息给其他客户端broadcastMessage(serverSocket, clientMessage, receivePacket.getAddress(), receivePacket.getPort());}} catch (Exception e) {e.printStackTrace();}}private static void broadcastMessage(DatagramSocket serverSocket, String message, InetAddress excludeAddress, int excludePort) {try {byte[] sendData = message.getBytes();// 获取广播地址InetAddress broadcastAddress = InetAddress.getByName("255.255.255.255");int broadcastPort = 12345;// 广播消息给所有客户端,除了发起广播的客户端DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, broadcastAddress, broadcastPort);serverSocket.send(sendPacket);} catch (Exception e) {e.printStackTrace();}}
}
第二服务端
package twentyone;import java.net.DatagramPacket;
import java.net.DatagramSocket;public class SecondUDPServer {public static void main(String[] args) {try {DatagramSocket serverSocket = new DatagramSocket(12346);System.out.println("第二个服务器已启动,等待客户端加入...");while (true) {byte[] receiveData = new byte[1024];// 接收客户端消息DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);serverSocket.receive(receivePacket);String clientMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());System.out.println("第二个服务器收到来自 " + receivePacket.getAddress() + ":" + receivePacket.getPort() + " 的消息: " + clientMessage);}} catch (Exception e) {e.printStackTrace();}}
}
客户端
package twentyone;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;class ConsoleHelper {private static final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));public static String readLine(String prompt) {try {System.out.print(prompt);return reader.readLine();} catch (IOException e) {throw new RuntimeException("Error reading from console", e);}}
}public class UDPClient {public static void main(String[] args) {try {DatagramSocket clientSocket = new DatagramSocket(); // 随机分配端口// 启动接收线程new Thread(() -> receiveMessages(clientSocket, 3)).start();while (true) {// 从控制台读取消息并发送给服务端1和服务端2String message = ConsoleHelper.readLine("客户端: ");byte[] sendData = message.getBytes();// 发送消息给服务端1DatagramPacket sendPacket1 = new DatagramPacket(sendData, sendData.length, InetAddress.getByName("localhost"), 12345);clientSocket.send(sendPacket1);// 发送消息给服务端2DatagramPacket sendPacket2 = new DatagramPacket(sendData, sendData.length, InetAddress.getByName("localhost"), 12346);clientSocket.send(sendPacket2);}} catch (Exception e) {e.printStackTrace();}}private static void receiveMessages(DatagramSocket clientSocket, int maxReceiveCount) {try {byte[] receiveData = new byte[1024];int receiveCount = 0;while (receiveCount < maxReceiveCount) {// 接收服务器广播消息DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);clientSocket.receive(receivePacket);String serverMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());System.out.println("服务器: " + serverMessage);receiveCount++;}} catch (Exception e) {e.printStackTrace();}}
}
http://www.mnyf.cn/news/39708.html

相关文章:

  • 京东短链接生成器seo接单
  • 建设制作网站关于市场营销的100个问题
  • 亳州网站建设费用青岛网站建设运营推广
  • 李沧网站建设电话广告发布平台app
  • 护肤网站的功能设计免费游戏推广平台
  • 做网站申请域名大概花费多少东莞网络优化公司
  • 做自媒体的上那些网站新手如何涨1000粉
  • 口碑好的网站建设方法有哪些百度最新推广产品
  • 网站开发就业前景分析站长工具ip地址查询
  • 访问失效链接 如何删除 网站维护品牌营销策略分析论文
  • 郑州竞价代运营公司seo网站优化排名
  • 烟台本地自己独立商城网站游戏挂机赚钱一小时20
  • 秦皇岛优化营商环境快速排名优化推广手机
  • 大型科技网站企业网站推广可以选择哪些方法
  • 上门做美容的有什么网站免费的推广引流软件
  • 让别人做网站需要提供什么网页生成
  • 自己在线制作logo免费一步一步网站seo优化多少钱
  • 做海报图片去哪个网站找 知乎广州权威发布
  • 公司网站建设的策划方案合肥seo排名公司
  • wordpress 翻墙东莞关键词优化推广
  • 成都网站定制中心营销软文模板
  • 河池公司网站开发价格我是新手如何做电商
  • 建设一个自己的网站需要多少钱杭州专业seo公司
  • 网站建设 搜狐建站合肥网络公司seo
  • 用帝国做网站好做吗网络营销的特点有
  • 国外网站怎么做威客网站如何做关键词优化
  • 网站装修的代码怎么做长沙百度网站推广公司
  • 自动网站建设列表网推广收费标准
  • 怎么自己做网站游戏企业官方网站有哪些
  • 免费的求职简历模板网站拉新app推广接单平台