serversocket clientsocket serversocket接收问题(100)

  • 主题发起人 主题发起人 zhangxuepu107
  • 开始时间 开始时间
Z

zhangxuepu107

Unregistered / Unconfirmed
GUEST, unregistred user!
serversocket 如何同时给俩个客户端发送指令,客户端接到指令后截图,将截图信息再传到服务端,服务端再显示出来?关键是如何向俩个客户端同时发送,服务端又如何同时接收?急!QQ:85277706
 
顶你一下。。。
 
客户端已经连接到服务端,而服务端以多线程的方式运行,服务端给他发个命令还不是简单的事吗?一个服务端可以被多个客户端同时连接,当然服务端就是同时接收的了。运行正常的话,最多就是毫秒级的差别就可同时接收到了。不知道你的Socket是怎么连的,不会是一个客户端连接了,另一个就不能连接了吧?
 
多个客户端可以同时连接的。服务端怎样以多线程的方式运行呢?
 
欢迎各位高手指点一下。多线程部分没有用过,有这方面的例子更好,谢谢!
 
我这里有个C++Builder的服务端(多线程的),Delphi的客户端数据传输小软件。你看看吧。仅做参考。要想实用,还的改动。做的时候是为了配合一个C++Builder写的后台,故而采用了C++Builder的代码。C++Builder的代码和Delphi相差不大。http://www.delphibbs.com/keylife/images/u191631/文件发送.rar
 
TO:草原骏马能留下你的QQ吗?
 
serversocket本身记录了客户端的连接信息,你只要对激活的连接信息发送数据,客户端自然可是接受到了,如果你想判断是那个客户端的话,在服务段也是有记录的
 
现在的中心问题是:当serversocket同时向多个客户发送指令后,多个客户发送文件,serversocket就出问题了。如果serversocket向一个客户发指令的话,收文件是没问题的。
 
你的问题出在serversocket收文件上,同时接受文件将导致文件并发执行或丢包的现象,解决办法是自己定义包头进行解包后,将可以解决你的问题即客户端在向服务端发数据前连包头一起发送,在服务端在进行解包,只有这个包头开始的才处理
 
如何区分包头,服务端如何按包头进行区分收到的数据是哪个客户发过来了?
 
呵呵,都告诉你,包头是客户端传来的。不同客户端的包头是不同的。同一客户端的包头是相同的。
 
后退
顶部