clientsocket,serversocket和udp(100分)

  • 主题发起人 主题发起人 xman
  • 开始时间 开始时间
X

xman

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟最近在做一个一对多的监控系统,有一台控制机,若干台客户机。
要求控制机能知道每台机器的开机与否状态,以及能够进行双机通讯,最好
还能通过控制机发广播消息。我使用过socket系列控件,由于要区分client
和server,且通信只能通过socket.connections[],而客户机自由开关机,
socket顺序经常要改变,编程不便。用udp到不存在这个问题,不过udp
通信时要在程序中动态的改变remotehost属性,机器一多不知会不会出问题。
现在碰到的问题是选用什么控件比较好?欢迎讨论。
 
如果确认客户机没有开机使用CONNECT不能连接,或检查该客户机的
IP地址是否可用就确定。那可以使用很多软件。我常用ASTA
那是为数据库连接用的,但他的网络功能也是很强大。
 
不是用软件,是编程实现,
另外,在socket.commections[].中的顺序如何确定,好象没有index
属性,比如先有3个连接0,1,2.0号连接断掉后,又重新连,不知此时对原来的0号
连接发信息是用connections[0]还是3
 
还是用socket控件,TCP比UDP安全,准确,有校验,UDP的唯一好处是快。
而且connections[]并没有关系,反正事件由接收驱动,广播的时候都发。
实在不行,再可户端也启动一个服务线成就可以的。
 
应该做到象网管记费软件那样,但是不知怎样实现的,socket.connects[]对某台机器是不固定的yyyy.
 
socket.connections[]是不是固定到没有关系,我想知道的是connections
是如何确定的,比如有4个连接0,1,2,3当0,2,分别断掉连接后又有一个
新的连接请求,此时的连接号一定不是4,但不知道是0还是2,*-《
 
你还不如定时扫一遍IP呢。
 
扫了也没用,我不是想知道哪些连接,而是想对某一个确定ip发消息,
但用socket好象只能通过connections来发消息,无法象udp那样针对
ip送信息
 
我发现connections的连接顺序是这样的:
比如有5个连接:0,1,2,3,4,假设1,3断掉则原来的0还是0,2变成1,4变成2
不知这种方式是固定的还是可设置的,
另外,不知用socket系列控件能不能针对ip传送信息,而不是用connections[]来
传送,我想内部一定有一个对应的表,最终发送信息都还是通过ip确认的,
请各位高手参加讨论,如嫌分不够可另外送分
 
sock不是有个handle属性吗?不知能不能用上
 
现在问题转变为,怎样直接用socket的api函数send()通讯

帮助文件中说:socket的sockethandle在直接使用winsock的api函数时要
用到,可是怎么用呢?winsock1 和winsock2是用相同的头文件吗?
在winsock的帮助文件中有socket(),listen(),accept(),send之类的函数
其中都有一个SOCKET型的参数s,其英文解释是:A descriptor identifying a connected socket,不知它和serversocket.socket.sockethandle有什么关系?
 
哈哈,我想找到办法了
 
你的问题很好解决,将ServerSocket的ServerType改为stThreadBlocking,将会非常方便
 
就是一個icq嘛, 小弟我也剛做了一個
 
请用data属性,一切问题解决
 
自己结束吧
 
多人接受答案了。
 
后退
顶部