本例给出一个客户端程序和一个服务器程序.客户端向服务器发送数据.服务器接收数据,并用它来生成一个结果,然后将这个结果返回给客户端.客户端在控制台上显示结果.在本例中,客户端发送的数据是圆的半径,服务器生成的结果是圆的面积. 客户端通过输出流套接字的 DataOuputStream 发送半径,服务器通过输入流套接字的 DataInputStream 接收半径.服务器计算面积,然后,通过输出流套接字的 DataOutputStream 把它发送给客户端,客户端通过输入流套接字的 DataInputS…
package cn.temptation; import java.net.InetAddress; public class Sample01 { public static void main(String[] args) throws Exception { /* * OSI模型:Open System Interconnection,开放系统互联 * 分为七层:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 * * TCP/IP模型: * 分为四层:应用层.传输层.网际层.…
套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要.和大多数语言一样,Python 支持面向连接和无连接,实现接口功能与步骤也大致相同. 面向连接即需要先连接然后通讯, 面向连接主要协议就是传输控制协议(tcp),要创建tcp套接字时需要指定套接字类型为 SOCK_STRAM,表达了他作为流套接字的特点. 无连接…
一.TCP 1.1 TCP(Transmission Control Protocol 传输控制协议),是一种面向连接的,安全的传输协议,但效率相比于UDP而言比较低. TCP传输时需要确保先建立连接之后,再进行传输这样就保证了传输的可靠性. java中将TCP封装成了对应的类. ServerSocket:服务端 Socket:客户端 1.2TCP连接的建立与取消(三次握手与四次挥手) 连接(三次握手): 1.初始状态,服务器处于监听状态,主机的传输控制模块(TCB)像服务器发送连接请求,客户端…
支持同时收发的客户端和服务器端 客户端 import javax.swing.*; import java.awt.*; import java.io.*; import java.net.*; import java.awt.event.*; public class ChatClient { private JTextArea incoming; private JTextField outgoing; private PrintWriter writer; private Buffered…
单向的客户端发送服务器端接收并显示,没有使用多线程 import javax.swing.*; import java.awt.*; import java.io.*; import java.net.*; import java.awt.event.*; public class ChatClient { private JTextArea text_area; private PrintWriter writer; private Socket s; public static void m…
客户端 import java.io.*; import java.net.*; public class DailyAdviceClient { public void go() { try { Socket s = new Socket("127.0.0.1", 4242); InputStreamReader streamReader = new InputStreamReader( s.getInputStream() ); BufferedReader reader = ne…
20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可.所以,基础的网络编程可以和打电话一样简单. 13.1 网络概述 网 络编程技术是当前一种主流的编程技术,随着联网趋势的逐步增强以及网络应用程序的大量出现,所以在实际的开发中网络编程技术获得了大…
在古代,由于通信不便利,一些聪明的人就利用鸽子会飞且飞得比较快.会辨认方向的优点,对其进行了驯化,用来进行消息的传递——也就是所谓的“飞鸽传书”.而在 Java 中,网络套接字(Socket)扮演了同样的角色. 套接字(Socket)是一个抽象层,应用程序可以通过它发送或接收数据:就像操作文件那样可以打开.读写和关闭.套接字允许应用程序将 I/O 应用于网络中,并与其他应用程序进行通信.网络套接字是 IP 地址与端口的组合. 01.ping 与 telnet “老王啊,能不能帮我看一下这个问题呢…
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库. ③.JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种…