TCP服务通讯

一、TCP
1.TCP又叫做套接字,传输安全,速度慢。
TCP和UTP是网络的传输协议,跟java没什么关系,没有说用java做的客户端必须连接java做的服务器,我们可以用c和c++做客户端,直接连接到java做的服务器都可以,只要都遵守TCP的协议规则就行。
2.TCP的连接
TCP有三次握手的规则,三次握手是?
TCP连接服务器的时候要来来回回三次询问,第一次问服务器是否存在网络是否通畅,服务器回答我存在,第二次询问服务器是否能进行连接啊,服务器说可以连接。第三次就是完成连接。TCP连接模式就是,客户端传输一个数据到服务器,服务器就会回客户端收到数据了,这样客户端才会进行下一个文件的传输,这样来来回回的确认才能确保文件安全无误的传输到对方的电脑上。
- ServerSocket是服务端,SocKet是通讯员,服务器就相当于一个很大的插板,插板上有很多个插口,而ServerSocket就相当于是一个很大的插板,插板上有很多个插口,你们都可以从这个插口上取得联系,一些电气设备需要来连接这个插板,这时电气设备就的插口就需要跟插板的插口进行连接。这样就相当于电气设备的插口是Socket(通讯员),插板上的插口也相当于是Socket(通讯员),而这个可以容纳许多Socket的插板就相当于是SeverSocket(服务端)。最后连接在一起就是Socket(通讯员)对Socket(通讯员),如果还有一个电器设备要连接在插板上就相当于连接到第二个插口上。

4.ServerSocket建立一个服务器IP是22.5.6.7端口为8989,建立一个客户端连接IP为22.5.6.7:8989的计算机这个客户端的Socket发出请求要连接SeverScoket服务器,ServerSocket就会马上产生一个对象Socket,这个产生的对象Scoket就会与客户端的Scoket建立通讯连接。一旦客户端与服务端建立好了连接,就会产生一个InputStream和OutputStream的通道。

5.当客户端通过电脑固定的IP127.0.0.1端口8080对网络请求访问服务器,通过accept()方法来监听有没有客户端来连接,如果有客户来连接就马上产生Socket对象,Socket对象就会产生两个流一个是InputStream和OutputStream流,相应的客户端也会产生InputStream和OutputStream流来进行连接,服务器ServerSocket要跟客户端说话就通过OutputStream来传输,相应的客户端Socket要跟服务器说也是通过OutputStream来传输。

6.代码
(1)创建一个服务器,用浏览器客户端来进行连接。

创建一个服务器端口号为8080,等待客户端来连接,连接时就会产生Socket对象,这个时候就通过InputStream和OutputStream拿出来,准备好一个字节数组,准备好读取客户端传过来的数据,客户端传过来信息通过String转换成字符,然后打印出去。浏览器就是用TCP协议,浏览器也是一个客户端。用浏览器这个客户端访问服务器时会告诉服务器你电脑的一些信息。
(2)


这就是来回询问。


(3)多网卡服务器的目的是:假设一个服务有两个网卡,一个连接内网连接内网服务器,进行内网服务,一个连接外网连接着国家骨干网。这样国家骨干网可以连接过来,城域网也可以连接过来。

TCP服务通讯的更多相关文章
- go --socket通讯(TCP服务端与客户端的实现)
这篇文章主要使用Go语言实现一个简单的TCP服务器和客户端.服务器和客户端之间的协议是 ECHO, 这个RFC 862定义的一个简单协议.为什么说这个协议很简单呢, 这是因为服务器只需把收到的客户端的 ...
- Java网络编程(TCP服务端)
/* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...
- 分布式服务通讯框架XXL-RPC
<分布式服务通讯框架XXL-RPC> 一.简介 1.1 概述 XXL-RPC 是一个分布式服务通讯框架,提供稳定高性能的RPC远程服务调用功能.现已开放源代码,开箱即用. 1.2 特 ...
- c#Socket Tcp服务端编程
创建一个socket服务类,绑定监听端口, 然后创建一个线程listen连接的客户端, 把监听到的客户端加入dictionary里面,以便于管理, 同时创建receive线程,循环接收数据加入list ...
- TCP协议通讯工作原理
TCP协议通讯工作原理 一.TCP三次握手 传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议.面向连接是指一次正常的TCP传输需要通过在TCP ...
- YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件、WebSocket服务组件
Delphi Windows IOCP 通讯模型封装,基于DIOCP.YxdIocp包含有支持大并发的TCP服务组件.HTTP服务组件.UDP服务组件.WebSocket服务组件,和TCP.UDP等基 ...
- PHP Swoole-Demo TCP服务端简单实现
tcp 服务端简单demo与client . <?php /** * author : rookiejin <mrjnamei@gmail.com> * createTime : 2 ...
- BeetleX之TCP服务应用详解
BeetleX是.net core平台下的一个开源TCP 通讯组件,它不仅使用简便还提供了出色性能的支持,可以轻易让你实现上百万级别RPS吞吐的服务应用.组件所提供的基础功能也非常完善,可以让你轻易扩 ...
随机推荐
- 浅谈C语言指针
下面就几种情况讨论指针. 一.指针和变量 变量是存储空间的别名,访问形式是直接访问. 指针访问内存地址是间接访问. 使用指针访问内存的场合:1.局部变量,参数传递 2.动态分配内存 指针本身也是 ...
- Webpack插件开发简要
背景 如今'大前端'这个概念在前端界大热,说'大前端',我们就要提到'前后端分离','前后端分离'又离不开'本地开发构建','本地开发构建'自然离不开webpack,webpack想要工作,那它就需要 ...
- 使用Github+Hexo框架搭建部署自己的博客
前言 Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown (或其他渲染引擎 )解析文章, 在几秒内,即可利用靓丽的主题生成静态网页. 安装 安装前提 安装 Hexo 相当简单 ...
- thinkphp5.0学习笔记(四)数据库的操作
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.采用PDO ...
- war包中少了class文件
用eclipse的maven工具打包(执行mvn clean install 和 mvn package)后,再启动wildfly, war包应该会自动复制到wildfly的deployment ...
- GitHub:多人协作下的分支处理
GitHub上的团队协作 远程信息 git remote:查看远程库的信息 git remote -v:查看远程库的详细信息 推送分支 git push origin 要推送的分支:比如git pus ...
- libpng处理png图片(二)
一,实现效果:图片剪切, 图片拼接 ------------------切割后------------------> ...
- RDLC报表纵向合并单元格。
在做RDLC报表时发现居然没有纵向合并单元格,震惊! 网上查了一些资料,有些方法很可爱,采用去除边框法,但是用这种方法如果要求文本属性居中的话那则达不到美观效果,还有些复杂一点的方法,我都没耐心看,然 ...
- apache 基本vhost配置
经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...
- Android混淆
一.为什么要混淆 为了避免apk在发布后被用户通过反编译拿到源代码和资源文件,然后修改资源和代码之后就变成一个新的apk.而经过混淆后的APK,即使被反编译,也难以阅读,注意混淆不是让apk不能阅读, ...