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

【好程序员特训营】Java网络连接测试小例子

花了两个小时时间去看书写例子,遇到不少蛋疼的问题,把例子贴出来,以免忘记

服务器端:

import java.io.*;

import java.net.*;

public class mYServer {

         public static void main(String[] args) {

                   ServerSocket serverSocket = null;

                   Socket socket = null;

                   OutputStream os = null;

                   InputStream is = null;
                   //监听端口号
                   int port = 8898;

                   try {
                            //建立连接
                            serverSocket = new ServerSocket(port);

                            //获得连接
                            socket = serverSocket.accept();

                            //接收客户端发送内容

                            is = socket.getInputStream();

                            byte[] b = new byte[1024];

                            int n = is.read(b);

                            //输出

                            System.out.println("客户端发送内容为:" + new String(b,0,n));

                            //向客户端发送反馈内容

                            os = socket.getOutputStream();

                            os.write(b, 0, n);

                   } catch (Exception e) {

                            e.printStackTrace();

                   }finally{

                            try{

                                     //关闭流和连接

                                     os.close();

                                     is.close();

                                     socket.close();

                                     serverSocket.close();

                            }catch(Exception e){}

                   }

         }

}

客户端:

import java.io.*;
import java.net.*;

public class mYClient {

         public static void main(String[] args) {

                   Socket socket = null;

                   InputStream is = null;

                   OutputStream os = null;

                   //服务器端IP地址

                   String serverIP = "127.0.0.1";

                   //服务器端端口号

                   int port = 8898;

                   //发送内容

                   String data = "成功了";

                   try {

                            //建立连接

                            socket = new Socket(serverIP,port);

                            //发送数据

                            os = socket.getOutputStream();

                            os.write(data.getBytes());

                            //接收数据

                            is = socket.getInputStream();

                            byte[] b = new byte[1024];

                            int n = is.read(b);

                            //输出反馈数据

                            System.out.println("服务器反馈:" + new String(b,0,n));

                   } catch (Exception e) {

                            e.printStackTrace(); //打印异常信息

                   }finally{

                            try {

                                     //关闭流和连接

                                     is.close();

                                     os.close();

                                     socket.close();

                            } catch (Exception e2) {}

                   }

         }

}


相关文章:

  • Unity4.6中修改RectTransform的宽度和高度
  • unity3D 动态导入FBX、obj模型
  • UL标签的padding与margin默认值
  • 一个让img居中居左居右的方法
  • 谷歌 CardBoard Unity开发基础
  • Unity使用Face++
  • Processing 用图片填充形状
  • Unity结合讯飞语音在线识别
  • Arduino控制L298N
  • Unity Mesh初探
  • Processing 中文字体
  • Arduino和Android通过OTG 通信
  • 把Unity作为Android的子视图
  • Unity Profile 内存不断增加问题
  • Unity Shader 效果学习
  • 【comparator, comparable】小总结
  • Flex布局到底解决了什么问题
  • jquery ajax学习笔记
  • nfs客户端进程变D,延伸linux的lock
  • React组件设计模式(一)
  • Redux 中间件分析
  • Vim 折腾记
  • Vue.js 移动端适配之 vw 解决方案
  • Web设计流程优化:网页效果图设计新思路
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 程序员该如何有效的找工作?
  • 缓存与缓冲
  • 少走弯路,给Java 1~5 年程序员的建议
  • 数据仓库的几种建模方法
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #前后端分离# 头条发布系统
  • (1)Nginx简介和安装教程
  • (C++)八皇后问题
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (多级缓存)缓存同步
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (七)Java对象在Hibernate持久化层的状态
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 8.0 发布到 IIS
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net6 webapi log4net完整配置使用流程
  • .net6使用Sejil可视化日志
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /dev下添加设备节点的方法步骤(通过device_create)
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [ai笔记9] openAI Sora技术文档引用文献汇总