首页 > 编程语言 >网络编程-TCP通信程序(上)理论

网络编程-TCP通信程序(上)理论

时间:2022-08-19 21:18:27浏览次数:56  
标签:编程 通信 TCP 服务器 交互 服务端 客户端

TCP通信程序概述

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

两端通信时步骤

1.服务端程序 需要事先启动 等待客户端的链接

2.客户端主动链接服务端 链接成功才能通信 服务端不可以主动链接客户端

在java中 提供了两个类用于事先TCP通信程序

1.客户端:socket类表示 创建Socket对象 向服务端发出连接请求 服务端响应请求 两者建立连接开始通信

2. 服务端:ServerSocket类表示 创建ServerSocke对象 相当于开启一个服务 并等待客户端的链接

 

服务器必须明确两件事情:

1.多个客户端同时和服务端进行交互 服务端必须明确和哪个客户端进行的交互在服务器端有一个方法 叫accept客户端获取到请求的客户端对象

2.多个客户端同时和服务器进行交互 就需要使用多个Io流对象

服务器是没有Io流的 服务器可以获取请求的客户端对象Socket

使用每个客户端Scoket中提供的IO流和客户端进行交互

服务器使用客户端的字节输入流读取客户端发送的数据

服务器使用客户端的字节输出流给客户端回写数据

简单记:服务器使用客户端的流和客户端交互 例如:我请你吃饭 但是没有钱 和你借10块 请你吃饭

 

标签:编程,通信,TCP,服务器,交互,服务端,客户端
From: https://www.cnblogs.com/qihaokuan/p/16603236.html

相关文章

  • Android四大组件——Service——和Activity的通信
    任务描述:在MyService里提供一个下载功能,然后再Activity中可以决定何时开始下载,以及随时查看下载进度。按照之前的思路:在MyService中创建一个方法,用以对下载进行管理。然后......
  • 异构编程框架对比
    为了提高算法速度,基于openmp的多核编程已无法满足要求,最近调研了异构的方法。调研的目标是选择在windows平台上visualstudio上使用,采用c和c++语言。调研的框架有openmp,ope......
  • python基础-函数式编程
    概念:电脑运算视作数学上的函数计算高阶函数:map,reduce,filter无副作用,相同的参数调用时钟产生同样的结果闭包Closure例子:defcache(func):store={}#外部自由......
  • 第7章 面向对象编程(基础部分)
    ​7.1 类与对象oop     问题:编写一个程序,输入猫名字,显示该猫的名字,年龄,颜色     现有技术:单独定义变量、数组;缺点:不利于数据管理,效率低   ......
  • 5G/4G外置型无线通信模块
    5G/4G外置型无线通信模块TD210,全网通5G/4G/3G/2G网络,数据透传、加密传输,RS485/RS232/TTL电平接口,支持TCP/UDP/环保212/MQTT协议,工业级32位通信处理器,看门狗、心跳链路检测......
  • 阅读《计算机图形学编程(使用OpenGL和C++)》6
    同一个场景渲染不同的对象,一种简单的方法是为每个模型使用单独的缓冲区。每个模型都需要自己的模型矩阵,这样我们就需要为我们渲染的每个模型生成一个新的模型-视图矩阵。还......
  • 盘点Vue2和Vue3的10种组件通信方式(值得收藏)
    Vue中组件通信方式有很多,其中Vue2和Vue3实现起来也会有很多差异;本文将通过选项式API组合式API以及setup三种不同实现方式全面介绍Vue2和Vue3的组件通信方式。其中将要实现......
  • 在线编程常见输入输出
    在线编程常见输入输出题目链接1.输入包括两个正整数a,b(1<=a,b<=1000),输入数据包括多组,输出a+b的结果#include<iostream>usingnamespacestd;intmain(){......
  • JavaSE:第十七章:编程测试题
    练习:求1+2!+3!+…+20!的和longsum=0;for(inti=1;i<=20;i++){longtemp=1;for(intj=1;j<=i;j++){temp*=j;}sum+=......
  • 编程初体验
    HelloWorld编程初体验  具体步骤新建文件夹存放代码新建Java文件(文件后缀名.Java)编写代码publicclassHello{publicstaticvoidmain(string【】......