首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java serverSocket和客户端套接字在同一台pc中是如何交互的?

在同一台PC中,Java ServerSocket和客户端套接字可以通过以下步骤进行交互:

  1. 服务器端创建一个ServerSocket对象,并指定一个端口号。例如,使用Java代码创建一个ServerSocket对象:ServerSocket serverSocket = new ServerSocket(8888)。
  2. 服务器端调用ServerSocket的accept()方法,该方法会一直阻塞,直到有客户端连接到服务器。一旦有客户端连接,accept()方法会返回一个Socket对象,该对象代表与客户端的连接。
  3. 客户端创建一个Socket对象,并指定服务器的IP地址和端口号。例如,使用Java代码创建一个Socket对象:Socket socket = new Socket("localhost", 8888)。
  4. 客户端调用Socket的connect()方法,该方法会尝试连接到服务器。如果连接成功,connect()方法会返回一个已连接的Socket对象。
  5. 服务器端和客户端之间可以通过Socket对象进行通信。服务器端可以使用Socket的getInputStream()方法获取客户端发送的数据流,客户端可以使用Socket的getOutputStream()方法发送数据流给服务器端。
  6. 通信完成后,服务器端和客户端可以分别调用Socket和ServerSocket的close()方法关闭连接。

Java ServerSocket和客户端套接字的交互过程如上所述。它们通过创建Socket对象来建立连接,并通过Socket对象进行数据的传输和通信。这种交互方式适用于同一台PC中的网络通信场景,例如本地测试、局域网内部的通信等。

腾讯云提供了一系列与云计算相关的产品,包括云服务器、云数据库、云存储等。这些产品可以帮助用户搭建和管理云计算环境,提供稳定可靠的云服务。具体推荐的产品和产品介绍链接地址可以参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java中的TCP通信程序

Java中的TCP通信程序 TCP可以实现两台计算机之间的数据交互通信的两端,要严格区分客户端与服务端 两端通信时的步骤: 1.服务端程序,需要事先启动,等待客户端连接 2.客户端主动连接服务器端...,才能成功通信,服务器端不可以主动链接客户端 在java中两个类用于实现TCP通信程序: 客户端: java.net.Socket 类表示。...Socket类 socket类:该类实现客户端套接字,套接字是指两台设备之间的端点 构造方法: public Socket(String host,int port):创建套接字对象并将其连接到指定对象的主机上...两个需要明确的事情 1多个服务器端与客户进行交互,服务器必须明确是和哪个客户端进行交互,这个accept()方法用与获取请求的客户端对象 2.多个客户端同时与服务器进行交互就需要使用多个io流对象...服务器是没有io流的,服务器可以获取到请求的客户端对象的scoket,使用每一个客户端Socket中提供的io流对象进行交互。

1.2K10

Java入门(18)-- 网络通信

18.1.3 端口和套接字 一般而言,一台计算机只有单一的连接到网络的物理连接(Physical Connection),所有的数据都通过此连接对内、对外送达特定的计算机,这就是端口。...网络程序中的套接字(Socket)用于将应用程序与端口连接起来。套接字是一个假想的连接装置,就像插座一样可连接电器与电线。...服务器端与客户端的交互: ①——服务器程序创建一个ServerSocket(服务器端套接字),调用accept()方法等待客户机来连接; ②——客户端程序创建一个Socket,请求与服务器建立连接; ③...18.2.2 ServerSocket类 java.net包中的ServerSocket类用于表示服务器套接字,其主要功能是等待来自网络上的“请求”,它可通过指定的端口来等待连接的套接字。...服务器套接字一次可以与一个套接字连接,如果多台客户机同时提出连接请求,服务器套接字会将请求连接的客户机存入列队中,然后从中取出一个套接字,与服务器新建的套接字连接起来。

67320
  • Java网络编程

    TCP协议是面向连接的通信协议,即传输数据之前, 在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。...、 三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可 靠。 第一次握手,客户端向服务器端发出连接请求,等待服务器确认。...套接字是两台机器间通信的端点。...()返回此套接字的输入流; void close()关闭此套接字; 实现步骤: ①创建一个客户端对象Socket,构造方法中传入服务器的地址和端口号; ②使用Socket中的getOutputStream...()监听并接收此套接字的连接; 使用步骤: ①创建ServerSocket对象,构造方法传入特定端口; ②使用ServerSocket中的accept方法,获取到请求客户端的Socket对象; ③使用Socket

    6710

    Java成神路 —— 网络编程

    端口 网络的通信,本质上是两个应用程序的通信。 每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?...协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。...TCP协议 传输控制协议 (Transmission Control Protocol) TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输...在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手” 三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠...Java中的UDP通信 UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念

    33410

    ServerSocket与Socket类

    TCP套接字协议: TCP最主要的特征就是能够建立长时间的连接,而且能够保证数据安全的送达,但是速度比较慢。...ServerSocket类: 在Java中想要使用TCP协议做编写服务端的话,需要使用到ServerSocke类,这个类是TCP协议的。...现在我们已经知道如何编写服务器端,并且知道可以使用浏览器作为客户端去进行连接了,那么接下来使用Socket类进行编写一个客户端,简单的与服务器端交互一下数据。...服务器端的编写和上面的第一个示例没有区别,就不过多解释。 客户端则是需要声明一个ip地址和端口号,这个端口号是服务器端的端口号,这点要注意。...然后同样的通过流来交互数据,读取或输出数据时,需要看一下服务器端是先读取还是先输出,服务器端先读取的话客户端就需要先编写输出数据的代码,否则反之。

    78010

    Java中​new关键字在虚拟机中是如何执行的?

    new 关键字在虚拟机中是怎样的一个过程?JVM 构造对象的步骤都有哪些?...解答 Java对象创建流程 补充 指针碰撞 如果Java堆中的内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间那边揶动一段与对象大小相等的距离...空闲列表 如果Java堆中的内存并不是规整的,已使用的内存和空闲的内存相互交错,那就没有办法简单地进行指针碰撞了,虚拟机就必须维护一个列表,记录上哪些内存块是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实例...问题说明 对象创建在虚拟机中是非常频繁的行为,即使是仅仅修改一个指针所指向的位置,在并发情况下也并不是线程安全的,可能出现正在给对象 A 分配内存,指针还没来得及修改,对象B又同时使用了原来的指针来分配内存的情况...把内存分配的动作按照线程划分在不同的空间之中进行,即每个线程在Java雄中预先分配一小块内存,称为本地线程分配缓冲TLAB(Thread Local Allocation Buffer)。

    86410

    【Java】网络编程

    1.2 网络通信协议 网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。...1.3 协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节。我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节。...TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。...三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠。 第一次握手,客户端向服务器端发出连接请求,等待服务器确认。...2.2 Socket类 Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。

    78630

    JAVA网络编程

    qq snmp dns 在线视频 二、socket简介 套接字,用于描述一个ip和端口号绑定的通信会话(socket连接)。每一个网络服务都会打开一个socket连接。...serverSocket 位于java的net包下面。 此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。...Socket 此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。...三、基于TCP协议的socket编程 创建一个基于tcp协议的scoket服务器 类 ServerSocket 此类实现服务器套接字。服务器套接字等待请求通过网络传入。...在端口7000上,监听客户端请求 ServerSocket server= new ServerSocket(7000); Socket socket = server.accept();//获取socket

    6310

    Java网络编程之通过代码实现Socket通信

    TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。...在Java中,提供了两个类用于实现TCP通信程序: 客户端:java.net.Socket 类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。...Socket类 Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。...构造方法 public Socket(String host, int port) :创建套接字对象并将其连接到指定主机上的指定端口号。如果指定的host是null ,则相当于指定地址为回送地址。...ServerSocket类 ServerSocket类:这个类实现了服务器套接字,该对象等待通过网络的请求。

    56930

    「网络基础」网络套接字、端口、IP、协议、TCP与UDP,一样都没少

    网络套接字 源IP地址和目的IP地址以及源端口号和目的端口号的组合称为网络套接字,用于标识客户端请求的服务器和服务;应用程序可以通过套接字打开、读写、关闭数据,允许应用程序在网络中加入I\O,与网络中的其他应用程序进行通信...套接字,实际上是一个通信端点,每个套接字都有一个套接字序号,包括主机的IP地址与一个16位的主机端口号,展现形式是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开,即:主机IP地址:端口号,比如...网络编程 通过调用套接字接口来实现进程间通信的程序设计就是网络编程。利用网络编程便可以实现同一系统中不同进程之间的通信,更是可以通过网络连接实现不同系统中多个进程的通信,比如:QQ 、微信等。...网络编程三要素 IP地址:能够确定是哪一台主机 端口号:能够确定主机上的某个进程 网络通信协议:制定网络通信、数据交互的规则 Java 中的网络编程:java 对网络编程也提供了很好的支持,java 中关于网络编程的...因此,端口的使用需要注意: 在同一个计算机系统中,端口不能重复;若端口重复,会引发端口冲突而导致系统程序运行错误; 在开发中,经常会自定义端口,在自定义端口时尽量选择10000以后的,避免和系统现有的程序冲突

    2.9K30

    【Java】20 基于 TCP 协议的网络编程

    要使两台计算机彼此能进行通信,必须使两台计算机使用同一种“语言”,IP 协议只保证计算机能发送和接收分组数据。IP 协议负责将消息从一个主机传送到另一个主机,消息在传送的过程中被分割成一个个的小包。...尽管计算机通过安装 IP 软件,保证了计算机之间可以发送和接收数据,但 IP 协议还不能解决数据分组在传输过程中可能出现的问题。   ...虽然 IP 和 TCP 这两个协议的功能不尽相同,也可以分开单独使用,但它们是在同一时期作为一个协议来设计的,并且在功能上也是互补的。...1.2.1 Socket 类 Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。...连接到的远程端口 1.2.2 ServerSocket 类 ServerSocket类:这个类实现了服务器套接字,该对象等待通过网络的请求。

    76751

    Java利用TCP协议实现客户端与服务器通信【附通信源码】

    上一篇博客和大家分享了在网络编程中要注意的基础知识,关于IP、TCP、UDP以及端口和套接字的一些概念,想了解的小伙伴可以看我的这篇文章“盘点那些进行网络编程必须要知道的基础知识”,那么今天大灰狼就来和大家分享一下如何使用...如下图是服务器与客户端之间进行通信的示意图: ? 以上就是在TCP协议中客户端与服务器建立连接的过程示意图。...而在这其中起到关键作用的就是服务器端套接字ServerSocket和客户端套接字Socket。通过这两个套接字来建立服务器和客户端,从而利用其中的函数进行数据的通信。...在ServerSocket类中有很多需要注意的地方,接下来大灰狼和大家分享一下ServerSocket类的具体用法: ServerSocket类 ServerSocket类存在于Java.net包中,表示服务器端的套接字...,在使用时需要首先导入这个类,我们也知道ServerSocket类的主要功能就是通过指定的端口等待来自于网络中客户端的请求并且进行连接。

    3.5K30

    如何在Python中使用Linux epoll

    阻塞套接字编程示例 示例1是一个简单的Python服务器,它在8080端口上侦听HTTP请求,将其打印到控制台,然后将HTTP响应发送回客户端。...第21行中的send()调用将阻塞,直到Linux将所有返回给客户端的数据排队等待准备传输。 当程序使用阻塞套接字时,它通常使用一个线程(甚至是专用进程)在每个套接字上进行通信。...主程序线程将包含侦听服务器套接字,该套接字接受来自客户端的传入连接。它将一次接受这些连接,将新创建的套接字传递给一个单独的线程,然后该线程将与客户端进行交互。...而是,程序在异步套接字上执行一个操作,并立即通知该操作成功还是失败。 该信息使程序可以决定如何进行。 由于异步套接字是非阻塞的,因此不需要多个执行线程。 所有工作都可以在单个线程中完成。...该程序更加复杂,因为单个线程正在与多个客户端进行通信交互。 第1行:select模块包含epoll功能。 第13行:由于默认情况下套接字是阻塞的,因此使用非阻塞(异步)模式是必需的。

    3.2K10

    day20-网络编程

    网络编程,就是在一定的协议下,实现两台计算机的通信的程序。...网络通信协议 网络通信协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。...协议的分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节。我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节。...TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。...什么是三次握手 三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠。 第一次握手,客户端向服务器端发出连接请求,等待服务器确认。

    6910

    【Java 网络编程】TCP 服务器端 客户端 简单示例

    文章目录 I IntelliJ IDEA 创建 Java 项目 II 客户端 Socket 创建 III Socket 客户端连接服务器端 IV Socket 两个端点信息获取 V 控制台人机交互..., BufferedReader 的 readLine 方法 , 可以在控制台中阻塞等待用户输入 , 用户可以在控制台输入信息 , 然后客户端将该信息传给服务器 ; 下面是键盘输入流的创建和使用过程...-- 将与单个客户端交互的操作封装到线程中 , 每当与一个新的客户端建立连接 , 就开启一个异步线程处理与该客户端之间的交互 ; 客户端处理线程 : /** * 异步线程 , 处理单个客户端连接...创建服务器套接字, 并监听端口 //1....java Server , 即开启了服务器端 ; 再打开客户端 , 在另一个命令行中运行 java Client , 即开启了客户端 ; 客户端输入文字 , 与服务器端交互 :

    2.8K30

    网络协议:一文搞懂Socket套接字

    本篇内容包括:Socket 套接字的简介、Socket 套接字的分类、Java 中的 Socket 即 java.net.ServerSocket、java.net.Socket 的使用,以及Java...Socket 的原意是“插座”,在计算机通信领域,Socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。...,它们不需要知道传输层是如何对数据流进行处理。...特别责要注意的是通信连接必须显式建文。该套接字类型适食传输大量的数据,但不支持广播和多播方式。...与数据报套接字相比,使用流式套接字是一个更为可靠的方法,但对于某些应用,建立一个显式连接所导致的系统开销是令人难以接收的,并且数据报套接字支持广播和多播方式。

    2.7K21

    Java 原生网络编程.

    在 1995 年的 Sun World 大会上,当时占浏览器市场份额绝对领先的网景公司宣布在浏览器中支持Java,从而引起一系列的公司产品对Java的支持,使得Java很快成为一种流行的语言。    ...Java 语言中的 Socket 编程常用到 Socket 和 ServerSocket 这两个类。    ...对于一个网络连接来说,套接字是平等的,不因为在服务端或者客户端而产生不同级别,不管是Socket还是ServerSocket,它们的工作都是通过SocketImpl类及其子类完成的。    ...Java 主要提供两个类来实现基于 UDP 的 Socket 编程:     DatagramSocket:此类表示用来发送和接收数据报包的套接字,数据报套接字是包投递服务的发送或接收点,每个在数据报套接字上发送或接收的包都是单独编址和路由的...数据报包用来实现无连接包投递服务,每条报文仅根据该包中的信息从一台机器路由到另一台机器。     UDP 的 Socket 编程示例图: ?

    46320

    Java从入门到精通十三(java网络编程)

    public class DatagramSocketextends Object 此类表示用来发送和接收数据报包的套接字。 数据报套接字是包投递服务的发送或接收点。...每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。...在某些实现中,将 DatagramSocket 绑定到一个更加具体的地址时广播包也可以被接收 这是我们需要主要去了解的信息。我们首先要了解的是这个类具有发送数据和接收数据的功能。...每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。...加粗样式 Socket(客户端套接字) public class Socketextends Object 此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。

    1.9K30

    《吐血整理》高级系列教程-吃透Fiddler抓包教程(33)-Fiddler如何抓取WebSocket数据包

    在计算机通信领域,socket 被翻译为“套接字”(套接字=主机+端口号),它是计算机之间进行通信的一种约定或一种方式。....send() 发送数据,将string中的数据发送到连接的套接字,返回值是要发送的字节数量,通常使用.encode()函数对数据进行转码 .senddall() 发送完整的数据,在返回之前会尝试发送所有数据...具体步骤为: #创建服务端套接字 serversocket=socket() #把地址绑定到套接字 serversocket.bind() #对连接进行监听 serversocket.listen()...1.在cmd中运行服务端代码,运行结果,如下图所示: 2.在cmd中运行客户端代码,运行结果,如下图所示: 好了到此就实现了,但是宏哥抓不到包,不知道是不是因为服务端和客户端都在宏哥本地一台电脑的原因...而宏哥演示的网址是用于测试的因此没有考虑安全进行加密,所以使用的是明文,大家可以看到客户端和服务端相互发送的信息内容,关于如何加密宏哥在这里就不做赘述了因为它不是今天的重点内容。

    4.8K30
    领券