none
线程和TCPCLIENT问题 RRS feed

  • 问题

  • 1.各位牛人能否告诉在下如何让线程(THREAD)重复使用,不能用NEW来重新建立而是直接执行第二个方法(不是用线程池)?
    2.TCPCLIENT在循环发送数据给服务器,能否只实例一次,调用第一次实例的对象发送数据?

     

    2010年6月17日 13:24

答案

  • 谢谢蒋版主的帮助,问题是这样的:因为不关闭,没法发送出去啊,比如某个文件比较大,一次发送过去太占内存,我要分N次发,是不是每次必须重新实例,然后再连接,再发送?有没好的办法。。比如我只实例一个连接一次,然后可以一直发送到发送全部数据后我手动关闭连接。

    怎么会发送不出去呢?只管往stream里面写好了,TcpClient有发送缓冲区,当缓冲区填满后就会发送。也可以将NoDelay设为true,那么一旦写入stream就会立即发送。
    Tech Blog: http://gildor.cnblogs.com
    • 已标记为答案 xuzhiqiang 2010年6月24日 13:06
    2010年6月21日 19:12

全部回复

  • 1 ThreadPool

    2 往TcpClient.GetStream之后获得的流写入数据就可以



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年6月17日 19:40
    版主
  • 1 ThreadPool

    2 往TcpClient.GetStream之后获得的流写入数据就可以



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    问题是TCPCLIENT关闭或NETWORKSTREAM关闭之后就直接被释放了,无法重复发送数据
    2010年6月18日 14:05
  • 呃,既然数据没写完,你为什么要关闭?如果必须关闭的话,改写你的协议,做成像HTTP这样无状态的。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年6月18日 23:08
    版主
  • 谢谢蒋版主的帮助,问题是这样的:因为不关闭,没法发送出去啊,比如某个文件比较大,一次发送过去太占内存,我要分N次发,是不是每次必须重新实例,然后再连接,再发送?有没好的办法。。比如我只实例一个连接一次,然后可以一直发送到发送全部数据后我手动关闭连接。

    2010年6月19日 0:47
  • 谢谢蒋版主的帮助,问题是这样的:因为不关闭,没法发送出去啊,比如某个文件比较大,一次发送过去太占内存,我要分N次发,是不是每次必须重新实例,然后再连接,再发送?有没好的办法。。比如我只实例一个连接一次,然后可以一直发送到发送全部数据后我手动关闭连接。

    怎么会发送不出去呢?只管往stream里面写好了,TcpClient有发送缓冲区,当缓冲区填满后就会发送。也可以将NoDelay设为true,那么一旦写入stream就会立即发送。
    Tech Blog: http://gildor.cnblogs.com
    • 已标记为答案 xuzhiqiang 2010年6月24日 13:06
    2010年6月21日 19:12
  • 谢谢。。。。

    2010年6月24日 13:06