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

广州建站快车广州安全教育平台咨询电话

广州建站快车,广州安全教育平台咨询电话,安徽住房与城乡建设厅网站,最好的开发网站建设价格文章目录 1. Socket简介2. ServerSocket3. Socket4. 服务器端代码5. 客户端代码 1. Socket简介 Socket#xff08;Java套接字#xff09;是Java编程语言提供的一组类和接口#xff0c;用于实现网络通信。它基于Socket编程接口#xff0c;提供了一种简单而强大的方式来实现… 文章目录 1. Socket简介2. ServerSocket3. Socket4. 服务器端代码5. 客户端代码 1. Socket简介 SocketJava套接字是Java编程语言提供的一组类和接口用于实现网络通信。它基于Socket编程接口提供了一种简单而强大的方式来实现网络应用程序。 Socket类库提供了丰富的方法和功能用于处理网络通信的各个方面。它支持TCP和UDP协议可以实现可靠的、面向连接的通信TCP或不可靠的、无连接的通信UDP。Java Socket还提供了一些高级功能如多线程处理、异步通信、加密通信等以满足不同网络应用的需求。 本文主要使用Socket实现UDP版的客户端和服务器 DatagramSocket 是UDP Socket用于发送和接收UDP数据报。 DatagramPacket是UDP Socket发送和接收的数据报。 2. ServerSocket ServerSocket 是创建TCP服务端Socket的API。 方法说明ServerSocket(int port)创建一个服务端流套接字Socket并绑定到指定端口 ServerSocket 方法 方法说明Socket accept()开始监听指定端口创建时绑定的端口有客户端连接后返回一个服务端Socket 对象并基于该Socket建立与客户端的连接否则阻塞等待void close()关闭此套接字 3. Socket Socket API Socket 是客户端Socket或服务端中接收到客户端建立连接accept方法的请求后返回的服务端 Socket。 不管是客户端还是服务端Socket都是双方建立连接以后保存的对端信息及用来与对方收发数据 的。 Socket 构造方法: 方法说明Socket(String host, int port)创建一个客户端流套接字Socket并与对应IP的主机上对应端口的 进程建立连接 Socket 方法 方法说明InetAddress getInetAddress()返回套接字所连接的地址InputStream getInputStream()返回此套接字的输入流OutputStream getOutputStream()返回此套接字的输出流 4. 服务器端代码 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner;public class TcpEchoServer {// 用于监听客户端private ServerSocket listenSocket null;public TcpEchoServer(int port) throws IOException {listenSocket new ServerSocket(port);}public void start() throws IOException {System.out.println(服务器启动!);ExecutorService service Executors.newCachedThreadPool();while (true) {// 接收客户端的连接Socket clientSocket listenSocket.accept();service.submit(new Runnable() {Overridepublic void run() {try {processConnection(clientSocket);} catch (IOException e) {throw new RuntimeException(e);}}});}}public void processConnection(Socket socket) throws IOException {System.out.printf([%s: %d], 客户端上线!\n, socket.getInetAddress().toString(), socket.getPort());// 处理客户端请求try (InputStream inputStream socket.getInputStream();OutputStream outputStream socket.getOutputStream()) {while (true) {// 读取请求并解析Scanner scanner new Scanner(inputStream);if (!scanner.hasNext()) {System.out.printf([%s: %d],客户端下线\n, socket.getInetAddress().toString(), socket.getPort());break;}// 读取请求,并返回响应String request scanner.next();String response process(request);PrintWriter printWriter new PrintWriter(outputStream);printWriter.println(response);// 刷新缓冲区printWriter.flush();System.out.printf([%s: %d], req: %s resp: %s \n, socket.getInetAddress().toString(), socket.getPort(),request, response);}} finally {socket.close();}}private String process(String request) {return request;}public static void main(String[] args) throws IOException {TcpEchoServer server new TcpEchoServer(5678);server.start();} }5. 客户端代码 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner;public class TcpEchoClient {private Socket socket null;public TcpEchoClient(String serverIp, int serverPort) throws IOException {socket new Socket(serverIp, serverPort);}public void start() throws IOException {System.out.println(客户端启动!);Scanner scanner new Scanner(System.in);try (InputStream inputStream socket.getInputStream();OutputStream outputStream socket.getOutputStream()) {while (true) {// 读取请求System.out.print(- );String request scanner.next();// 发送请求给服务器PrintWriter printWriter new PrintWriter(outputStream);printWriter.println(request);// 刷新缓冲区printWriter.flush();// 读取请求Scanner respScanner new Scanner(inputStream);String response respScanner.next();System.out.println(response);}}}public static void main(String[] args) throws IOException {TcpEchoClient client new TcpEchoClient(127.0.0.1, 5678);client.start();} }运行结果:
http://www.dnsts.com.cn/news/261208.html

相关文章:

  • 黑龙江网站建设工作室wordpress中点击图片_图片显示出来后的底色
  • 免费做简历的软件网站wordpress主题位置
  • 网站建设多少钱建设商城类的网站要多少钱
  • 喀什百度做网站多少钱设计上海兼职网站建设
  • 国内flash网站济南上门做睫毛的网站
  • 零陵网站建设网站页头图片
  • 买微单的网站建设刷赞网站怎么做的
  • 门户网站建设和运行保证的磋商文件网站引导页怎么设置
  • 网站建设的目的和目标百度不收录网站怎么办
  • 首页关键词是不是一个网站的核心关键词所在公司做网站需要什么手续吗
  • 镇江当地网站找建筑官网
  • 做网站的步骤流程做网站专业
  • 学校的网站怎么做的好合肥网站建设制作公司
  • 网站 优化 教程帝国cms建站实例教程
  • 扬州网站建设哪家好商城网站建设如何交谈
  • 常州建站软件汉中建筑信息平台
  • 自学网站的建设北京网络公司有哪些
  • 多语言网站建设 技术网站404页面下载
  • 视频网站要多大虚拟主机源码之家网站模板
  • 长沙网站建设网站流程优化
  • 营销型网站制作平台专业网页制作什么好
  • 网站设置成灰色做碳循环的网站
  • 合肥房产网最新楼盘郑州seo关键词推广
  • 珠海市网站设计公司php网站开发 总结
  • 外贸自建站平台怎么选长沙的企业网站建设
  • 视频代做网站wordpress获取当前分类下的子分类
  • 共享ip服务器做网站代写企业软文
  • 外贸网站开发 河南网站如何留住用户
  • cms网站建站流程网站学习流程
  • 怎么做租房网站中国免费网站服务器