线程和TCPCLIENT问题

xu56180825 2010-06-17 09:18:22
1.各位大侠能否告诉在下如何让线程(THREAD)重复使用,不能用NEW来重新建立而是直接执行第二个方法(不是用线程池)?
2.TCPCLIENT在循环发送数据给服务器,能否只实例一次,调用第一次实例的对象发送数据?
...全文
162 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
皇城龙三 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xu56180825 的回复:]


可以说清楚点吗?在下理解能力较差,比如我循环100次发送数据,我就实例化了100个重新连接了100次。。。太费内存和时间了吧
[/Quote]

如果你发送一个文件对象,那么通过三次握手建立一次连接,传输这次文件分解的数据包,直到结束。

第二次文件传输,才再次实例化,重新建立第二次连接
xu56180825 2010-06-17
  • 打赏
  • 举报
回复
谢谢谢谢谢谢谢谢谢谢回复太快,请先休息一下!
捷哥1999 2010-06-17
  • 打赏
  • 举报
回复
可以说清楚点吗?在下理解能力较差,比如我循环100次发送数据,我就实例化了100个重新连接了100次。。。太费内存和时间了吧

你就不可以在循环外面实例化一次,循环中发送数据,循环后,关闭连接?
捷哥1999 2010-06-17
  • 打赏
  • 举报
回复
这样的发送过程可以多次的!
TcpClient client = new TcpClient(server, port);

// Translate the passed message into ASCII and store it as a Byte array.
Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);

// Get a client stream for reading and writing.
// Stream stream = client.GetStream();

NetworkStream stream = client.GetStream();

// Send the message to the connected TcpServer.
stream.Write(data, 0, data.Length);

Console.WriteLine("Sent: {0}", message);

// Receive the TcpServer.response.

// Buffer to store the response bytes.
data = new Byte[256];

// String to store the response ASCII representation.
String responseData = String.Empty;

// Read the first batch of the TcpServer response bytes.
Int32 bytes = stream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
xu56180825 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 computerfox 的回复:]
不用,只要你还是连接同一个ip和端口!
[/Quote]
可以说清楚点吗?在下理解能力较差,比如我循环100次发送数据,我就实例化了100个重新连接了100次。。。太费内存和时间了吧
捷哥1999 2010-06-17
  • 打赏
  • 举报
回复
不用,只要你还是连接同一个ip和端口!
jianuMan 2010-06-17
  • 打赏
  • 举报
回复
貌似不行吧
xu56180825 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
没有重复使用
让线程无事时阻塞,加一个死循环
或结束重新启动
[/Quote]
谢谢如梦。。那TCPCLIENT能否重用?,每次使用都要重新实例然后连接,好像不怎么舒服
wuyq11 2010-06-17
  • 打赏
  • 举报
回复
没有重复使用
让线程无事时阻塞,加一个死循环
或结束重新启动

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧