ServerSocket.Socket.Connections[i].SendText

解决方案 »

  1.   

    errorcode(errorcode):
      兄弟,我用的是TcpServer(D6的),不是ServerSocket
      

  2.   

    1:客户端连接server一般给端口=0,由网络底层分配一个空闲的端口,这样当然服务器看到客户端端口是变化的。
       通过代理等的网络转发后,客户端口一般就变了,因为代理机实际上是一个server机制一样的系统,他收到客户连接,就自己建立另一个连接到server,同时内部建立一个SOCKET的对应表,不停接收客户端和server端的网络包,再对应转发到对应的网络连接上。server端看到的端口是代理机发起的连接的端口.2.我想直接就用已经建立起来的连接来处理
      是可以的,但你不能直接用tcpserver的方法发送数据。
      tcpserver只有一个listen的作用
      应该用onaccept中得到的ClientSocket来进行数据发送接收.
      并且应该在onwrite中发送数据,而不用onaccept发送数据
      如果的确onaccept了,就应该可以通讯了
      

  3.   

    lj_csdn(大笨蛋) :
       我用ClientSocket发送,客户端在哪个事件中接受?????
       另:onwrite中发送数据,而不用onaccept发送数据  是什么意思?
      

  4.   

    1..客户端放上  TcpServer .....那它还叫'客户端'么?呵呵.
      如果你让服务端在局域内. 一般要在网关机上设置端口映射.
      不然网外的无法连接进来.
    2..嗯??
    你是用的INDY控件??
    我大概看过,Indy 处理socket的风格同TClientSocket,TServerSocket
    的同步与异步方式都不同的.
    它最一般的方式是在主线程中采用同步.(用TClientSocket同步方式一般要新开线程),它增加了一个常用的防界面冷结控件(其实它就主要是抽空进行processMessage操作).用它建立一个连接后, 其中一方Sendln发送一个带回车的串,
    另一个Readln从接收的数据流中读出串, 直到回车符,
    这时Readln这个函数才会返回.