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吞吐的服务应用.组件所提供的基础功能也非常完善,可以让你轻易扩 ...
随机推荐
- ActionContext、ServletContext、pageContext的区别?
ActionContext是当前的Action的上下文环境,通过ActionContext可以获取到request.session.ServletContext等与Action有关的对象的引用: Se ...
- 影响国内WinCE7发展的最大障碍是没有D版下载
WinCE红火的时代已经过去,做嵌入式系统时考虑WinCE的越来越少,网络上相关文章也是越来越少. 但真正用过WinCE的应该有体会,它集成了文件系统,tcp/ip,GUI系统,usb驱动,就这些,你 ...
- Java代码编写规范(不是标准规范,自行整理,无须纠结)
最近回过头来给以前的项目增加功能,发现之前写的注释非常不全,代码也非常的不整洁,有些地方写的''窝七八烂的,看着很不舒服:又恰好经理最近也经常跟我提起代码规范,我们就讨论了一下代码规范的重要性和必要性 ...
- vue-router如何根据不同的用户给不同的权限
闲聊: 小颖去年在上家公司用的vue1.0之前在做路由这块用的router.map,但是现在vue2.0里已经不能用了,所以之前解决权限问题的例子,小颖也参考不了呜呜 之前看一个美女写的:elemem ...
- Java基础学习之线程
1.尽量避免直接使用 同步.Thread等原生操作线程的类,可以通过java.util.concurrent下对底层包装好的类进行操作, ReentrantLock:lock trylock unl ...
- window.close()方法对谷歌和火狐浏览器无效
在近期的项目中,遇到了一个问题,就是用户到新浪支付进行操作,操作成功后,指定到一个网页,需求是点击确定,关闭该网页.需求出来以后认为这种就是小菜一碟,直接用 window.close()方法就可以实现 ...
- Java中的static、final关键字
static static 的含义是静态的,是一个静态修饰符,一般来说,被static修饰的有以下几种,类.变量.方法.代码块. static修饰类 Java中普通的类是不允许被声明为静态的,但是有一 ...
- iOS的内存分析和内存管理
iOS的内存分析和内存管理 [内存管理]一直是iOS开发中的一个重点. 本文就带你从内存分析开始一步步了解内存的占用情况,从真实的情况中领悟真正项目开发过程中的内存的使用情况. 注:本文默认你熟悉 M ...
- ex3多类问题和NN中的前向传播
昨日去了趟无锡,前天下了暴雨,所以昨天给我的感觉天气很好,天蓝云白的,以后在这边学习估计也是一件很爽的事情,且昨日通知书业寄到学校了,附赠了一份研究生数学建模的传单,我搜了搜近几年的题目,感觉统计 ...
- 单例模式与静态变量在PHP中
在PHP中,没有普遍意义上的静态变量.与Java.C++不同,PHP中的静态变量的存活周期仅仅是每次PHP的会话周期,所以注定了不会有Java或者C++那种静态变量. 1. 静态变量在PHP中 在PH ...