Java网络编程之通过代码实现Socket通信
文章目录
- 概述
- Socket类
- 构造方法
- 成员方法
- ServerSocket类
- 构造方法
- 成员方法
- 简单的TCP网络程序
- TCP通信分析图解
- 客户端向服务器发送数据
- 服务器向客户端回写数据
概述
TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。
两端通信时步骤:
- 服务端程序,需要事先启动,等待客户端的连接。
- 客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。
在Java中,提供了两个类用于实现TCP通信程序:
- 客户端:
java.net.Socket
类表示。创建Socket
对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。 - 服务端:
java.net.ServerSocket
类表示。创建ServerSocket
对象,相当于开启一个服务,并等待客户端的连接。
Socket类
Socket
类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。
构造方法
public Socket(String host, int port)
:创建套接字对象并将其连接到指定主机上的指定端口号。如果指定的host是null ,则相当于指定地址为回送地址。
Java网络编程之通过代码实现Socket通信相关推荐
- 22-05-05 西安 javaSE(18) 网络编程、TCP\IP、Socket通信
MAC与IP地址 MAC地址 每一块网卡带有的ROM(只读存储器)中,都预先烧录了一个唯一的MAC地址. MAC地址=制造厂商编号+产品编号 所以世界上每一个MAC地址都是独一无二的 IP地址 在互联 ...
- JAVA 网络编程流相关代码(UDP和TCP)
UDP传输 UDP传输示例代码1 功能需求:通过udp传输方式,将一段文字数据发送出去. 定义一个udp发送端. 思路: 1,建立updsocket服务. 2,提供数据,并将数据封装到数据包中. 3, ...
- JAVA基础知识之网络编程——-基于AIO的异步Socket通信
异步IO 下面摘子李刚的<疯狂JAVA讲义> 按照POSIX标准来划分IO,分为同步IO和异步IO.对于IO操作分为两步,1)程序发出IO请求. 2)完成实际的IO操作. 阻塞IO和非阻塞 ...
- java网络编程实例_关于java网络编程的实例代码
服务器端的写法 package com.chinasofti.corejava.ch22; import java.io.BufferedReader; import java.io.IOExcept ...
- 关于java网络编程的实例代码
服务器端的写法 package com.chinasofti.corejava.ch22; import java.io.BufferedReader; import java.io.IOExcept ...
- 【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )
文章目录 I Socket API 简介 II ServerSocket API 简介 III Socket 数据交互 IV Socket 客户端操作流程 V Socket 服务器端操作流程 VI S ...
- JAVA网络编程知识学习
JAVA网络编程知识学习 学习目标 第一章 网络编程入门 1.1软件结构 1.2 网络通信协议 1.3 协议分类 1.4 网络编程三要素 协议 IP地址 IP地址分类 常用命令 端口号 InetAdd ...
- Java网络编程 Socket、ServerSocket 详解,方法介绍及完整代码示例
Java网络编程 Socket.ServerSocket 详解,方法介绍及完整代码示例 概念 什么是网络编程? 网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络连接起来.当这些通过网络 ...
- java网络编程,通过TCP,Socket实现多对一的局域网聊天室
java网络编程,通过TCP,Socket实现多对一的局域网聊天室 可以实现多个客户端连接服务器,服务器接收到信息就会把信息广播到所有的客户端 这是服务器端的代码 View Code import j ...
- java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...
本文详细介绍组成非阻塞通信的几大类:Buffer.Channel.Selector.SelectionKey 非阻塞通信的流程ServerSocketChannel通过open方法获取ServerSo ...
最新文章
- 高软作业三:原型化设计——随心记
- 重新认识HBase,Cassandra列存储——本质是还是行存储,只是可以动态改变列(每行对应的数据字段)数量而已,当心不是parquet...
- [AngularJS学习笔记] 基础学习01
- Redis面试常见问题与详解
- beego原生mysql查询_Beego基础学习(五)Golang原生sql操作Mysql数据库增删改查(基于Beego下测试)...
- Linux(Centos7)下安装Redis(redis-5.0.8)
- u盘循环冗余能修复吗_激素脸怎么办?激素脸还能改善修复好吗?
- 毕马威首次发布《初探元宇宙》报告:从科幻畅想到产业风口(附报告下载链接)...
- 改变swap分区大小
- JAVA编程思想读书笔记(五)--多线程
- 视频教程-【国内首套H3C V7交换机实战课程-2】以太网端口和链路聚合配置与管理-H3C认证
- 光伏发电matlab模块,光伏发电的matlab仿真.docx
- 6.2 栅格数据矢量化
- 使用阿里智能语音实现录音文件识别
- java barchart类,JavaFX BarChart条形图颜色
- html5制作人物动作,如何用3DMAX制作多动作人物
- 未来10年35项最值得你期待的技术(中)
- 63套js ,html .css效果页面(点个小星星免费下载)
- IO、BIO、NIO、AIO
- SKNet: Selective Kernel Networks
热门文章