一:网络编程简介
1:网络协议
(1)OSI网络传输的七层结构(从下到上)
物理层-à数据链路层---〉网络层----〉传输层----〉会话层----〉表示层----〉应用层
(2)TCP/IP协议(实际中应用的标准)
链路层---à网络层----〉传输层-----〉应用层
2:各层主要的协议:
网络层:IP协议
传输层:TCP/UDP
应用层:HTTP/FTP/TELNET
二:TCP编程
1:特点:
(1)建立连接,安全,效率低(联想打电话)
(2)把要传输的内容当作流的形式传输
2:客户端编程步骤:
(1)创建一个套接字(Socket)(用来跟服务器端进行直接通信)
(2)从这个套接字里面获得输入和输出流
(3)读写操作
(4)关闭流
(5)关闭套接字
3:服务器端:
(1)创建一个服务套接字(ServerSocket):主要用来判断是否有新的客户端访问,如果有的话,
就创建一个新的服务员。
(2) 创建一个与客户端打交道的套接字(Socket)(服务员)
(3)从Socket中获得输入和输出流
(4)读写操作
(5)关闭流
(6)关闭Socket
(7) 如果服务器不再为客户提供服务了,关闭ServerSocket(一般不会关闭)
三:UDP编程
1:特点:
(1)无连接的,不安全,效率高,(联想发邮件)
(2)把要传输的内容分隔成一个一个的数据报进行传输。
2:编程步骤:
(1) 创建一个根网络打交道的对象DatagramSocket
(2) 把自己的数据打包DatagramPacket
(3)通过DatagramSocket把自己的数据报发送过去。
注意:对网络中的输入输出流的包装。和IO的一样;看你要个服务端或客户端发送怎样的数据;
socket
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
server:
private Socket socket; private ServerSocket ss; public Server() throws IOException { ss = new ServerSocket(7777); while (true) { socket = ss.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(socket .getInputStream())); System.out.println("you input is : " + br.readLine()); } }
Client:
Socket client; PrintWriter pw; public Client() throws UnknownHostException, IOException { client=new Socket("Socket服务器IP",7777); pw=new PrintWriter(client.getOutputStream()); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); pw.write(br.readLine()); pw.close(); br.close(); }
相关推荐
Java之Socket编程是网络通信中的基础,主要用于实现客户端与服务器之间的连接。在这个简单实例中,我们将探讨如何使用Java的Socket和ServerSocket类来构建一个基本的客户端-服务器通信模型。 首先,`ServerSocket`...
Java SocketCAN是一个用于在Linux环境下通过Java编程语言与CAN(Controller Area Network)总线通信的库。这个库允许开发者在Java应用程序中实现低级别的CAN数据帧收发,从而无需深入理解底层操作系统或C/C++编程。...
Java Socket编程是网络编程的基础,它提供了在两个应用程序之间建立通信连接的能力。在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库...
Java中的Socket类是进行网络通信的核心组件,它主要用于实现客户端与服务器之间的TCP连接,从而进行双向数据传输。本文将深入探讨如何使用Socket类接收和发送数据。 首先,我们需要理解Socket类的基本概念。Socket...
在Java编程中,Socket是网络通信的基础,它允许两个应用程序通过TCP/IP协议进行数据传输。Socket连接分为两种类型:长连接和短连接。这两种连接方式各有特点,适用于不同的应用场景。 **1. 短连接(Short ...
Java Socket是Java编程语言中用于网络通信的核心API,它提供了低级别的、面向连接的、基于TCP/IP协议的网络通信能力。在"Java Socket 视频流转发Socket"这个主题中,我们将深入探讨如何使用Java Socket来处理视频流...
Java Socket通信是网络编程中的基础概念,主要用于两个应用程序之间的双向通信。在这个"Java_socket 通信示例"中,我们看到的是一个简单的聊天室应用,它利用了Java的Socket API来实现实时的数据交换。以下是对这个...
Java的Socket实现的多人聊天程序是一个基于网络通信的项目,主要利用了Java的Socket类来构建客户端和服务端的通信桥梁。Socket是TCP/IP协议的一部分,它提供了两台计算机之间进行数据传输的基础。在这个项目中,...
Java Socket 连接池实现是提高网络应用性能和效率的关键技术之一。在高并发的网络环境中,频繁地创建和销毁Socket连接会导致大量的系统资源浪费,影响整体性能。为了解决这个问题,开发人员通常会使用连接池来管理和...
Java的Socket编程是Java网络编程的核心部分,它提供了在TCP/IP协议栈上进行通信的机制。Socket接口是对TCP/IP协议的抽象,使得开发者能够轻松地创建客户端和服务器应用程序,实现网络上的数据交换。在这个主题中,...
Java Socket是Java编程语言中实现网络通信的基础组件,它提供了应用程序与网络协议的接口,使得开发者可以构建基于TCP(传输控制协议)或UDP(用户数据报协议)的应用程序。本教程将深入探讨Java Socket编程的核心...
在Java编程语言中,Socket是实现网络通信的基础组件,它为两台计算机之间的通信提供了低级别的接口。在本文中,我们将深入探讨Java Socket客户端代码及其在创建基于Socket的聊天室客户端中的应用。 首先,理解...
目前,Java社区有多个针对Socket.IO的实现,如`java-socket.io-client`和`socket.io-client-java`等。这些库通常会提供API,让你能够轻松地与Socket.IO服务器进行交互。 1. **java-socket.io-client**:这是一个...
Java Swing Socket聊天程序是一种基于Java GUI(图形用户界面)技术和Socket网络编程的简单通信应用。Swing是Java标准库中的一个模块,提供了丰富的组件库,用于构建桌面应用程序的用户界面。Socket则是网络编程的...
Java基于socket实现的客户端和服务端通信功能完整实例 在Java中,Socket是实现网络通信的基础,通过Socket可以实现客户端和服务器端之间的通信。本文将详细介绍Java基于Socket实现的客户端和服务端通信功能,包括...
在Java中,实现这种加密通信的方式之一就是使用SSLSocket。 #### SSLSocket的使用 在Java中,SSLSocket是Socket的一个子类,专门用于支持SSL/TLS加密的网络通信。下面,我们将详细介绍如何在Java Socket中使用SSL...
java socket client 断线重连的简单实现 有什么意见可以提哦
在Java网络编程中,Socket是实现客户端与服务器端通信的基础组件。当涉及到通过代理服务器或者负载均衡器(如Nginx)进行TCP转发时,获取用户的真实IP地址可能会变得复杂。在标题“java socket nginx tcp转发 用户...
Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景。Socket是计算机网络中的一个通信协议,它允许不同操作系统上的应用程序之间建立连接并交换数据。在这个场景中,Java作为客户端,C++作为服务端,两者...