公司需要开发桌面C/S程序,要局域网内联网(也就是该程序要部署在多台机器上)。机器A由用户A使用,机器B由用户B使用,A处理完某操作后,需立即通知B,或其他多个机器。
要达到这效果,通常采用什么方案?需要为程序再写个服务器端程序吗?也就是有服务器程序,A和B都安装同一个应用程序。还是不需要服务器端,直接A和B都安装同一个应用程序。
需要什么环境,采用什么技术通讯?看在100分份上,大家说详细点,谢谢。
socket 肯定要用服务器 还要存储你机器的IP
winform+webservice+database.
弄个服务器端,每个用户进入的时候创建线程进行监听,有一个算一个,他们属于同一个线程池,
这样有几个在连接是有数的,做完某个操作就通知其它用户,在这里你得有个标准 做到什么样子才算做完,
做完后就发送消息到服务器端`服务再发送消息通知其它客户端就行了, 期待其他答案
使用.net开发,可以使用TcpListener/TcpClient类来开发。
从可靠性角度考虑,有个服务器更好进行架构设计。服务器并不用于A与B通讯,而是用于查询某个用户当前注册在哪一个IP地址的机器上(也就是说它的IP、端口现在有没有已经打开监听)。服务器只要做这个管理就足够了。
专注于局域网通讯程序,不需要让业务数据都靠服务器转发,点对点通讯就可以了。
既然是局域网,又只要实现事件通知,就可以使用UDP广播来实现,不需要服务端,不需要保持连接。
广播会引起“风暴”,有能力的网管总是把这样的bug程序用网管手段给屏蔽掉。
TcpListener/TcpClient
建议用Socket来开发,上面两个我怎么看都不怎么好用啊
个人观点
你所说的有点像P2p
最近在看一个用bison实现的C parser,OS是opensolaris。当用它来解析一个简单的hello.c时,出现“/usr/include/sys/va_list.h: parse error before __gnuc_va_list”。打开文件va_list.h后发现这样一行“typedef __bu ......