CS架构中,当多个客户端同时给服务器发送数据,服务器接收到的数据会不会混乱?
不会混乱的
(1)每次客户端连接都会建立一个专属通道(服务端会给客户端配分一个端口)
(2)通信报文中会有标识(比如用户编码)来确定客户端的身份。
但是,由于缓冲区的原因会出现断包和粘包的问题,需要处理一下。
可参考以下文章
网页链接
使用
Web服务器
、
ftp服务器
、SSH服务器配合相应的客户端都可以实现你这个应用,如果你要自己写个服务,那需要熟悉一下
网络通讯
的知识,或者使用ACE这个C++库(封装了通讯的很多内容)
只要配置你的TNSNAMESORA文件中的脚本即可。
C:\oracle\ora92\network\admin 这个目录下
比如
a1=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19216821)(PORT = 1521))
)
(CONNECT_DATA =
(SID = a1)
)
)
b1=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =19216822)(PORT = 1521))
)
(CONNECT_DATA =
(SID = b1)
)
)
c1=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19216823)(PORT = 1525))
)
(CONNECT_DATA =
(SID = c1)
)
)
拷过来的,看了一下是对的。
OTA(英文全称:Over the Air Technology)空中下载技术。
是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X、WIFI及短消息技术。
OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载,是一种更快的无线技术。
扩展资料:
OTA运行原理:
1、OTA Server主要是对差分包的一个上传、下载以及版本的管理。
2、开发者通过差分包的制作工具制作出差分包,使用客户端进行上传和对版本的管理。
3、手机通过WIFI/GPRS网络进行连接下载,然后完成更新。
要实现OTA功能,至少需要两块设备,分别是服务器与客户端。服务器只有一个,客户端可有多个。服务器通过串口与PC机连接,需要下载的镜像文件存放于PC机,命令执行器给服务器发命令及镜像文件。
首先命令执行器控制服务器广播当前可用的镜像文件信息,客户端收到信息后进行对比,若有与自身相匹配的镜像,则向服务器请求数据。服务器收到请求后向命令执行器索取固定大小的块,再点对点传送给客户端。镜像传输完毕后,客户端进行校验,完成后发送终止信号。
-OTA (空中下载技术)
建立多个线程就ok了 为每一个连接 创建一个线程去处理
while (true)
{
// 得到包含客户端信息的套接字
Socket client = serverAccept();
//创建消息服务线程对象
ClientThread newclient = new ClientThread(client);
//把ClientThread 类的ClientService方法委托给线程
Thread newthread = new Thread(new ThreadStart(newclientClientService));
// 启动消息服务线程
newthreadStart();
}
TCP:有几个服务端,就建立几个连接
多个连接的通信可以采用多线程或者select函数来处理
UDP:不需要建立连接,直接用sendto发送和readfrom接收
0条评论