文章目录

  • 概述
  • Socket类
    • 构造方法
    • 成员方法
  • ServerSocket类
    • 构造方法
    • 成员方法
  • 简单的TCP网络程序
    • TCP通信分析图解
    • 客户端向服务器发送数据
    • 服务器向客户端回写数据

概述

TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。
两端通信时步骤:

  1. 服务端程序,需要事先启动,等待客户端的连接。
  2. 客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。

在Java中,提供了两个类用于实现TCP通信程序:

  1. 客户端java.net.Socket 类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。
  2. 服务端java.net.ServerSocket 类表示。创建ServerSocket对象,相当于开启一个服务,并等待客户端的连接。

Socket类

Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。

构造方法

  • public Socket(String host, int port) :创建套接字对象并将其连接到指定主机上的指定端口号。如果指定的host是null ,则相当于指定地址为回送地址。

Java网络编程之通过代码实现Socket通信相关推荐

  1. 22-05-05 西安 javaSE(18) 网络编程、TCP\IP、Socket通信

    MAC与IP地址 MAC地址 每一块网卡带有的ROM(只读存储器)中,都预先烧录了一个唯一的MAC地址. MAC地址=制造厂商编号+产品编号 所以世界上每一个MAC地址都是独一无二的 IP地址 在互联 ...

  2. JAVA 网络编程流相关代码(UDP和TCP)

    UDP传输 UDP传输示例代码1 功能需求:通过udp传输方式,将一段文字数据发送出去. 定义一个udp发送端. 思路: 1,建立updsocket服务. 2,提供数据,并将数据封装到数据包中. 3, ...

  3. JAVA基础知识之网络编程——-基于AIO的异步Socket通信

    异步IO 下面摘子李刚的<疯狂JAVA讲义> 按照POSIX标准来划分IO,分为同步IO和异步IO.对于IO操作分为两步,1)程序发出IO请求. 2)完成实际的IO操作. 阻塞IO和非阻塞 ...

  4. java网络编程实例_关于java网络编程的实例代码

    服务器端的写法 package com.chinasofti.corejava.ch22; import java.io.BufferedReader; import java.io.IOExcept ...

  5. 关于java网络编程的实例代码

    服务器端的写法 package com.chinasofti.corejava.ch22; import java.io.BufferedReader; import java.io.IOExcept ...

  6. 【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )

    文章目录 I Socket API 简介 II ServerSocket API 简介 III Socket 数据交互 IV Socket 客户端操作流程 V Socket 服务器端操作流程 VI S ...

  7. JAVA网络编程知识学习

    JAVA网络编程知识学习 学习目标 第一章 网络编程入门 1.1软件结构 1.2 网络通信协议 1.3 协议分类 1.4 网络编程三要素 协议 IP地址 IP地址分类 常用命令 端口号 InetAdd ...

  8. Java网络编程 Socket、ServerSocket 详解,方法介绍及完整代码示例

    Java网络编程 Socket.ServerSocket 详解,方法介绍及完整代码示例 概念 什么是网络编程? 网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络连接起来.当这些通过网络 ...

  9. java网络编程,通过TCP,Socket实现多对一的局域网聊天室

    java网络编程,通过TCP,Socket实现多对一的局域网聊天室 可以实现多个客户端连接服务器,服务器接收到信息就会把信息广播到所有的客户端 这是服务器端的代码 View Code import j ...

  10. java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...

    本文详细介绍组成非阻塞通信的几大类:Buffer.Channel.Selector.SelectionKey 非阻塞通信的流程ServerSocketChannel通过open方法获取ServerSo ...

最新文章

  1. 高软作业三:原型化设计——随心记
  2. 重新认识HBase,Cassandra列存储——本质是还是行存储,只是可以动态改变列(每行对应的数据字段)数量而已,当心不是parquet...
  3. [AngularJS学习笔记] 基础学习01
  4. Redis面试常见问题与详解
  5. beego原生mysql查询_Beego基础学习(五)Golang原生sql操作Mysql数据库增删改查(基于Beego下测试)...
  6. Linux(Centos7)下安装Redis(redis-5.0.8)
  7. u盘循环冗余能修复吗_激素脸怎么办?激素脸还能改善修复好吗?
  8. 毕马威首次发布《初探元宇宙》报告:从科幻畅想到产业风口(附报告下载链接)...
  9. 改变swap分区大小
  10. JAVA编程思想读书笔记(五)--多线程
  11. 视频教程-【国内首套H3C V7交换机实战课程-2】以太网端口和链路聚合配置与管理-H3C认证
  12. 光伏发电matlab模块,光伏发电的matlab仿真.docx
  13. 6.2 栅格数据矢量化
  14. 使用阿里智能语音实现录音文件识别
  15. java barchart类,JavaFX BarChart条形图颜色
  16. html5制作人物动作,如何用3DMAX制作多动作人物
  17. 未来10年35项最值得你期待的技术(中)
  18. 63套js ,html .css效果页面(点个小星星免费下载)
  19. IO、BIO、NIO、AIO
  20. SKNet: Selective Kernel Networks

热门文章

  1. 机器学习标准教科书PRML的Python实现:最佳读书伴侣
  2. linux编写脚本的基本方法
  3. 概率论——离散型随机变量
  4. AWVS13安装教程
  5. 常用z反变换公式表_高等数学系列R之三:拉氏变换
  6. 新版UI千月影视盒子双端源码
  7. Java后端开发常用规范
  8. minecraftjava版光追_我的世界:光追技术终于开始测试?没想到网易版已更新狐狸生物?...
  9. Vue开发实例(01)之环境搭建nodejs与运行第一个Vue项目
  10. 程序员代码面试指南第二版 8.单调栈结构(普通及进阶)