面向网络编程---单层交互:

客户端说明:

  1. /*
  2. * 实现TCP客户端,链接到服务器
  3. * 和服务器实现数据交互
  4. * 实现TCP客户端的类 java.net.Scoket
  5. * 构造方法:
  6. * Socket sco = new Sockte( String ip ,int 端口号);
  7. * 注意:这个构造方法只要运行就会去查找 服务器 如果链接失败 就会抛出异常
  8. * OutputStream getOutputStream() 这个方法是返回套接字的输出流
  9. * 注意:这个输出流 是将数据 输出服务器
  10. * InputStream getInputStream(); 这个方法 返回 套接字的输入流
  11. * 注意: 这个输入流 从服务器中读取数据
  12. *
  13. * 如果要实现 客户端与服务器端的交互 必须有使用Socket套接字的 流 自己实例化的流不可以!!!
  14. *
  15. * */

客户端代码:

  1. public static void main(String[] args) throws Exception {
  2. //创建Socket 对象 链接服务器
  3. Socket socket = new Socket("127.0.0.1", 8888);
  4. //通过套接字 对象Socket 获取 输出流 将 数据写入服务器
  5. OutputStream out = socket.getOutputStream();
  6. //向服务器写入数据
  7. out.write("咕咕咕-买了否冷".getBytes());
  8. //关闭数据
  9. //socket.close();
  10. socket.shutdownOutput();
  11. }

服务器说明:

  1. /*
  2. * 实现TCP服务器程序
  3. * 表示服务器程序的类 java.net.ServerSocket
  4. * 构造方法:
  5. * ServerSocket(int 端口);
  6. * **必须要获得客户端的套接字对象 Socket
  7. * Socket socket = server.accept();
  8. * */

服务器代码:

    

  1. public static void main(String[] args) throws Exception{
  2. //创建ServerSocket 对象
  3. ServerSocket server = new ServerSocket(8888);
  4. //调用服务器套接字 对象 中的方法accept();
  5. Socket socket = server.accept();
  6. try {
  7. InputStream in = socket.getInputStream();
  8. int len = 0;
  9. byte[] bytes = new byte[1024];
  10. while((len = in.read(bytes)) != -1){
  11. System.out.println(new String(bytes, 0, len));
  12. }
  13. } catch (Exception e) {
  14. throw new RasterFormatException("从服务器读取发生异常-原因 服务器可能关闭了流对象");
  15. }
  16. }

JAVA中-面向网络编程---单层交互的更多相关文章

  1. 第78节:Java中的网络编程(上)

    第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...

  2. 第62节:探索Java中的网络编程技术

    前言 感谢! 承蒙关照~ 探索Java中的网络编程技术 网络编程就是io技术和网络技术的结合,网络模型的定义,只要共用网络模型就可以两者连接.网络模型参考. 一座塔有七层,我们需要闯关. 第一层物理层 ...

  3. 第84节:Java中的网络编程(中)

    第84节:Java中的网络编程(中) 实现客户端和服务端的通信: 客户端需要的操作,创建socket,明确地址和端口,进行键盘录入,获取需要的数据,然后将录入的数据发送给服务端,为socket输出流, ...

  4. Java中的网络编程

    ​ Java中的网路编程主要是Java的Socket编程,属于JavaEE中的高级的部分,以下内容是对java网路编程的一个小结,代码都是经过编译调试的 C/S程序应用:客户/服务器模式,如QQ客户端 ...

  5. Java中的网络编程-2

    Socket编程:(一般的网络编程) <1> 两个 JAVA 应用程序可通过一个双向的网络通信连接, 实现数据交换, 这个双向链路的一段称为一个 Socket. <2> Soc ...

  6. Java中的网络编程-3

    用户数据协议(UDP)是网络信息传输的另外一种形式, 基于UDP的通信不同于基于TCP的通信, 基于UDP的信息传递更快, 但是不提供可靠的保证. 使用UDP传输数据时, 用户无法知道数据能否正确地到 ...

  7. Java中的网络编程-1

    计算机网络:将分布在不同地区的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统, 从而使众多计算机 可以方便的互相传递信息, 共享硬件.软件.数据信息等资源. 计算机网络的主要功能: ...

  8. java第九节 网络编程的基础知识

    /** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...

  9. Java高并发网络编程(一)

    一.OSI网络七层模型 因特网是一个极为复杂的网络,分层有助于我们对网络的理解 .分层也是一种标准,为了使不同厂商的计算机能够互相通信,以便在更大范围内建立计算机网络,有必要建立一个国际范围的网络体系 ...

随机推荐

  1. Beetlsql自定义生成entity,mapper,md代码

    三个模板文件 mapper.btl package ${package}; import org.beetl.sql.core.annotatoin.*; import org.beetl.sql.c ...

  2. synchronized的简单理解

    synchronized能够保证在同一时刻只有一个线程执行该段代码. 使用synchronized能够防止多个线程同时并发访问程序的某些资源. synchronized既可以修饰变量,也可以修饰方法, ...

  3. ios Https问题

    HTTPS认证过程:   ① 浏览器发送一个连接请求给安全服务器.   ② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器.   ③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA ...

  4. 二叉树翻转 · binary tree flipping

    [抄题]: 给定一个二叉树,其中所有右节点要么是具有兄弟节点的叶节点(有一个共享相同父节点的左节点)或空白,将其倒置并将其转换为树,其中原来的右节点变为左叶子节点.返回新的根节点. 您在真实的面试中是 ...

  5. win10,python连接mysql报”Can't connect to MySQL server on 'localhost' (10061)”

    一.环境及问题描述 1. 环境 操作系统:win10家庭版,64bit python版本:Python 2.7.15 mysql版本:mysql 5.4.3 2. 问题描述 最近跟公司申请电脑,预装w ...

  6. Linux远程桌面实现(转)

    http://blog.csdn.net/txg703003659/article/details/6619652 先说一下本人的实现环境: 控制端:Ubuntu 11.04 被控制端:CentOS ...

  7. memcache can't run as root without the -u switch

    memcached是一款高速.分布式的内存缓存系统.其官方主页在http://www.danga.com/memcached/1.安装前的准备要安装memcached,需要有libevent的支持.c ...

  8. Tomcat8 配置APR模式

    首先说明下tomcat connector运行的3中模式及区别: 1)bio 默认的模式,同步阻塞,性能非常低下,没有经过任何优化处理和支持. 2)nio  同步非阻塞,利用java的异步io护理技术 ...

  9. ssh 无密码登录要使用公钥与私钥

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想 ...

  10. Access denied for user 'root'@'MiWiFi-Ryyy-srv' (using password: YES)

    虽然是跟很多人一样的问题但是原因不同,其他很多文章说是授权问题,也确实是授权问题,但是,配置文件写的是连接localhost,而这里不知道什么原因切换了使用的用户,变成了默认访问MiWiFi-Ryyy ...