如果你写过某些 TCP socket 代码,你可能会疑问:如果网线被拨掉或者远程主机崩溃了我的TCP连接会怎样? 简短的答案是:一点影响都没有。这种情况下连接的结束远程主机是不会发送FIN数据包的,并且本地系统不能检测连接是否已中断。所以需要作为程序员的你来解决这种情况。
1、LAN(LocalAreaNetwork)通常指1000英尺范围内的,可以通过某种介质互连的计算机、打印机、Modem或其他设备的集合2、协议(Protocol)网络设备用于交换信息的系列规则和约定。3、标准(Standards)描述了协议的规定,设定了最简的性能集。LAN的常用设备LAN的设计目标运行在有限的地理区域允许同时访问高带宽的介质
本书的目的就是通过在Java编程语言环境下,带领你进入对这个问题的解答之路。Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。 在我们开始探究套接字的细节之前,有必要向读者简单介绍计算机网络和通信协议的整体框架,以使读者能清楚我们的代码将应用的地方。本章的目的不是向读者介绍计算机网络和TCP/IP协议是如何工作的(已经有很多相关内容的教程),而是介绍一些基本的概念和术语
tproxy 是简单 TCP 路由代理 (layer 7) ,基于 Gevent,可以使用 Python 配置路线逻辑。tproxy 灵感来源于 proxy machine,但是有一些独特的特性,比如 Gunicorn 的预先 fork 人工模式。
Internet是众多网络间的互联网,即计算机网络互相连接组成的一个大的网络。现在,这个网络已经覆盖了全球。在其形成初期,每个网络都使用不同的方法来进行互联或传输数据,因而有必要采用一个通用的协议使这些网络可以互相通讯。TCP/IP(传输控制协议/互联网协议)就是Internet上的通讯协议。
TCP提供一种面向连接的、全双工的、可靠的字节流服务。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。TCP的接收端必须丢弃重复的数据。TCP对字节流的内容不作任何解释。
那么程序是如何通过网络进行相互通信的呢?本书的目的就是通过在Java编程语言环境下,带领你进入对这个问题的解答之路。Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。
TCP 是互联网核心协议之一,本文介绍它的基础知识。
从TCP的角度理解速度优化@淘宝-核心系统研发-服务器平台组叔度问题杭州某用户带宽2Mbps,在想要下载一个位于北京的1个字节的文件,需要多少时间?1*8/(2*1024*1024)=4微秒?实际情况在杭州办公室ping淘宝北京电信CDN延时值为38毫秒Why?原因比特在网络上要以光/电波传播北京和杭州之间很近,但是也是有距离的光/电的传播速度没有快到可以忽略不计!两地直线距离1300公里理论值真空中30万公里每秒光在玻璃的传播速度是真空的2/3往返距离1300*2=2600公里1300*2/(300000*2/3)=13毫秒其他因素路很难是直线,光纤也不可能全部是直线光在光纤里面全反射传输中间传输过程中的损耗 .
那么程序是如何通过网络进行相互通信的呢?本书的目的就是通过在Java编程语言环境下,带领你进入对这个问题的解答之路。Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。
在第一章《基本套接字》中,作者给出了一个TCP Socket通信的例子——反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去。
Galaxium 是为 Gnome 桌面设计的即时通讯客户端,可与包括 MSN、Jabber 和 IRC 在内的系统连接。
前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。 可以打开项目先预览效果,对照着进行阅读。 言归正传,首先我们来总结一下我们去实现IM的方式 第一种方式,使用第三方IM服务 对于短平快的公司,完全可以采用第三方SDK来实现。国内IM的第三方服务商有很多,类似云信、环信、融云、LeanCloud,当然还有其它的很多,这里就不一一举例了,感兴
ExtremeTalk(XT)是一个用于企业或者组织内部进行在线通讯的,基于XMPP(Jabber)协议的即时通讯系统。您可以将XT部署在您的内部局域网内,并且通过XT的管理控制台建立企业组织架构、添加企业内部联系人来给企业内部人员分配IM帐号。分配到帐号的人员可以使用支持XMPP协议的客户端进行单人或多人的在线通讯,传送文件等。 收录时间:2011-08-16 15:25:36
必须说明:smack最新的4.1.1,相对之前版本变化很大,而且资料缺乏,官方文档也不好,所以还是用老版本3.2.2吧。这篇博文中的代码是4.1.1版的,但不推荐用它。 用openfire做服务器,用spark做帮助调试的客户端,用smack(官方文档在这里,感觉写得非常不好)做java的库,来完成即时通讯功能。
FreeEIM 不同于传统的C/S 模式(Client/Server 结构)的软件,它采用最新的LanIPB 技术,程序可自动查找并获取其他用户的信息,同时显示到‘在线用户’列表中,因此无需配置服务器来支持,使软件的运用更简便。
iJab 是基于Ajax技术开发的支持XMPP/Jabber协议的Web即时通讯客户端(XMPP Web IM/Web Chat)。iJab是开源 软件,任何人都可以基于iJab建立支持XMPP协议的即时通讯系统。iJab使用Javascript和HTML开发,基于浏览器运行,客户端无需下载 其他程序。
基于Xmpp的Android即时通讯手机应用软件YiIM第二版
"Why Can't I Connect?" 是一个 TCP/IP 连接错误诊断工具。支持常用的网络协议诊断。
java使用jpcap抓包工具获得本机发送的所有tcp请求,根据tcp请求的内容可以调试某个应用启动后对外发送的相关http请求或者sql连接请求,这样可以很好的调试我们的程序。很不错的一种应用无侵入性的调试本机发送的http接口,sql连接接口等。