JAVA中-面向网络编程---单层交互
面向网络编程---单层交互:
客户端说明:
- /*
- * 实现TCP客户端,链接到服务器
- * 和服务器实现数据交互
- * 实现TCP客户端的类 java.net.Scoket
- * 构造方法:
- * Socket sco = new Sockte( String ip ,int 端口号);
- * 注意:这个构造方法只要运行就会去查找 服务器 如果链接失败 就会抛出异常
- * OutputStream getOutputStream() 这个方法是返回套接字的输出流
- * 注意:这个输出流 是将数据 输出服务器
- * InputStream getInputStream(); 这个方法 返回 套接字的输入流
- * 注意: 这个输入流 从服务器中读取数据
- *
- * 如果要实现 客户端与服务器端的交互 必须有使用Socket套接字的 流 自己实例化的流不可以!!!
- *
- * */
客户端代码:
- public static void main(String[] args) throws Exception {
- //创建Socket 对象 链接服务器
- Socket socket = new Socket("127.0.0.1", 8888);
- //通过套接字 对象Socket 获取 输出流 将 数据写入服务器
- OutputStream out = socket.getOutputStream();
- //向服务器写入数据
- out.write("咕咕咕-买了否冷".getBytes());
- //关闭数据
- //socket.close();
- socket.shutdownOutput();
- }
服务器说明:
- /*
- * 实现TCP服务器程序
- * 表示服务器程序的类 java.net.ServerSocket
- * 构造方法:
- * ServerSocket(int 端口);
- * **必须要获得客户端的套接字对象 Socket
- * Socket socket = server.accept();
- * */
服务器代码:
- public static void main(String[] args) throws Exception{
- //创建ServerSocket 对象
- ServerSocket server = new ServerSocket(8888);
- //调用服务器套接字 对象 中的方法accept();
- Socket socket = server.accept();
- try {
- InputStream in = socket.getInputStream();
- int len = 0;
- byte[] bytes = new byte[1024];
- while((len = in.read(bytes)) != -1){
- System.out.println(new String(bytes, 0, len));
- }
- } catch (Exception e) {
- throw new RasterFormatException("从服务器读取发生异常-原因 服务器可能关闭了流对象");
- }
- }
JAVA中-面向网络编程---单层交互的更多相关文章
- 第78节:Java中的网络编程(上)
第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...
- 第62节:探索Java中的网络编程技术
前言 感谢! 承蒙关照~ 探索Java中的网络编程技术 网络编程就是io技术和网络技术的结合,网络模型的定义,只要共用网络模型就可以两者连接.网络模型参考. 一座塔有七层,我们需要闯关. 第一层物理层 ...
- 第84节:Java中的网络编程(中)
第84节:Java中的网络编程(中) 实现客户端和服务端的通信: 客户端需要的操作,创建socket,明确地址和端口,进行键盘录入,获取需要的数据,然后将录入的数据发送给服务端,为socket输出流, ...
- Java中的网络编程
Java中的网路编程主要是Java的Socket编程,属于JavaEE中的高级的部分,以下内容是对java网路编程的一个小结,代码都是经过编译调试的 C/S程序应用:客户/服务器模式,如QQ客户端 ...
- Java中的网络编程-2
Socket编程:(一般的网络编程) <1> 两个 JAVA 应用程序可通过一个双向的网络通信连接, 实现数据交换, 这个双向链路的一段称为一个 Socket. <2> Soc ...
- Java中的网络编程-3
用户数据协议(UDP)是网络信息传输的另外一种形式, 基于UDP的通信不同于基于TCP的通信, 基于UDP的信息传递更快, 但是不提供可靠的保证. 使用UDP传输数据时, 用户无法知道数据能否正确地到 ...
- Java中的网络编程-1
计算机网络:将分布在不同地区的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统, 从而使众多计算机 可以方便的互相传递信息, 共享硬件.软件.数据信息等资源. 计算机网络的主要功能: ...
- java第九节 网络编程的基础知识
/** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...
- Java高并发网络编程(一)
一.OSI网络七层模型 因特网是一个极为复杂的网络,分层有助于我们对网络的理解 .分层也是一种标准,为了使不同厂商的计算机能够互相通信,以便在更大范围内建立计算机网络,有必要建立一个国际范围的网络体系 ...
随机推荐
- zk分布式锁-排它锁简单实现-优化版
package Lock; import java.util.Collection;import java.util.Collections;import java.util.List;import ...
- 关于std:auto_ptr std:shared_ptr std:unique_ptr
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它.这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码.本文阐述了如何正确 ...
- Overcoming Life's Obstacles - ASC 2017 March 03
Overcoming Life's Obstacles - How a top oboist overcame a neurological disorder to play again ©Advan ...
- SO_LINGER
[SO_LINGER] 在默认情况下,当调用close关闭socket的使用,close会立即返回,但是,如果send buffer中还有数据,系统会试着先把send buffer中的数据发送出去,然 ...
- mac下搭建appium
1.安装java 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html ...
- nyoj36-最长公共子序列 (LCS)
http://acm.nyist.net/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ...
- 73. Set Matrix Zeroes (Array)
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. Follow ...
- 谈谈WhatsApp一年设计经历和收获
以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 关于WhatApp和Facebook如何实现规模设计的思考 我已经在Facebook担任产品经理 ...
- Java程序设计9——泛型
泛型是对集合的补充,JDK1.5增加泛型支持很大程度上都是为了让集合能记住其元素的数据类型.在没有泛型之前,一旦把一个对象丢进Java集合中,集合就会忘记对象的类型,把所有的对象都当成Object类型 ...
- ubuntu的命令行状态和图形化界面切换 (转)
1.ubuntu命令状态切换到图形化界面 startx 如果命令不能识别 执行 sudo apt-get install xinit 还需要提前安装桌面环境 比如 gnome 比如 KDE 安装方法 ...