架设服务器平台,很简单;这里介绍一个 GPSBD卫星定位监控系统Simple版本的定位系统
他们系统是JAVA开发,首先服务器需要搭建JAVA环境,Mysql数据库,以及Reids缓存服务;
然后启动程序文件,一步一步 *** 作即可;经过测试系统基本上市面上的各类GPS北斗定位设备都是支持的
在自己服务器搭建好GPS平台以后,就可以将设备的IP 端口配置到自己服务器对应的IP端口上,这样设备数据就会发往服务器,然后通过这套GPS定位系统就可以查看位置了
不会混乱的
(1)每次客户端连接都会建立一个专属通道(服务端会给客户端配分一个端口)
(2)通信报文中会有标识(比如用户编码)来确定客户端的身份。
但是,由于缓冲区的原因会出现断包和粘包的问题,需要处理一下。
可参考以下文章
网页链接
数据传输完成,协议栈在设计上允许任何一方先发起断开过程。以服务器一方发起断开过程为例。
首先,服务器一方的应用程序会调用Socket库的 close 程序。然后,服务器的协议栈会生成包含 断开信息的TCP头部 ,将控制位中的FIN比特设为1。接下来,协议栈会委托IP模块向客户端发送数据。同时,服务器的套接字中也会记录下断开 *** 作的相关信息。
当客户端收到服务器发来的FIN为1的TCP头部时,客户端的协议栈会 将自己的套接字标记为进入断开 *** 作状态 。然后,为了告知服务器已收到FIN为1的包,客户端会向服务器返回一个ACK号。 这些 *** 作完成后,协议栈就可以等待应用程序来取数据 了。应用程序就会调用read来读取数据。这时,协议栈不会向应用程序传递数据,而是会告知应用程序(浏览器)来自服务器的数据已经全部收到了。
客户端应用程序会调用 close 来结束数据收发 *** 作,这时客户端的协议栈也会和服务器一样,生成一个FIN比特为1的TCP包,然后委托IP模块发送给服务器。一段时间之后,服务器就会返回ACK号。到这里,客户端和服务器的通信就全部结束了。
和服务器的通信结束之后,用来通信的套接字就可以删除了。不过,套接字并不会立即被删除,而是会等待一段时间之后再被删除。
客户端先发起断开,则断开的顺序如下:
1)客户端发送FIN
2)服务器返回ACK号
3)服务器发送FIN
4)客户端返回ACK号
如果最后客户端返回的ACK号丢失了,结果会如何呢?这时,服务器没有接收到ACK号,可能会重发一次FIN。
如果这时客户端的套接字已经删除了,会发生什么事呢?套接字被删除,那么套接字中保存的控制信息也就跟着消失了,套接字对应的端口号就会被释放出来。
这时,如果别的应用程序要创建套接字,新套接字碰巧又被分配了同一个端口号,而服务器重发的FIN正好到达,会怎么样呢?本来这个FIN是要发给刚刚删除的那个套接字的,但新套接字具有相同的端口号,于是这个FIN就会错误地跑到新套接字里面,新套接字就开始执行断开 *** 作了。之所以不马上删除套接字,就是为了防止这样的误 *** 作。
至于具体等待多长时间, 这和包重传的 *** 作方式有关 。网络包丢失之后会进行重传,这个 *** 作通常要持续几分钟。
如果重传了几分钟之后依然无效,则停止重传。在这段时间内,网络中可能存在重传的包,也就有可能发生前面讲到的这种误 *** 作,因此需要等待到重传完全结束。协议中对于这个等待时间没有明确的规定,一般来说会等待几分钟之后再删除套接字。
本文摘取自周自恒翻译的户根勤编写的《网络是怎样连接的》重新设置下网络 你这是没连上网 有什么问题 具体补充
补充回答:
首先你笔记本是无线上网 还是普通宽带 ?如果是宽带 是通过路由器上网还是拨号上网?
假如是无线上网 你要看下你的无线网卡是否打开?是否选择了无线网;3G上网卡上网检查一下 3G连接的软件上有没有连接上 如果没有 请咨询卖你3G卡的人
如果是普通的宽带拨号上网 上网前 请先运行宽带连接 拨号上网
如果是路由器上网 首先确定网络设备没有问题 设置也没有问题 在桌面上右击网上邻居,属性,双击打开本地连接,打开属性项目,再在常规里找到internet 协议(tcp/ip),双击打开,输入IP
例如:
IP地址 192168X25
子网掩码2552552550
网关192168X1
DNS 2188515299
备用DNS 2188515999
解释一下IP地址前三个是固定 最后一个在2-254之间任选一个 网关是固定 其中网关和IP地址里的X根据你的路由器设置 一般是1 也有的是2
DNS是当地网络运营商提供给你的 如果不知道 请咨询10086/10000/10010直接用 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)