C# 来帮帮忙~

2025-12-17 04:57:59
推荐回答(3个)
回答1:

1、在扫描单一接口时,为什么list中的count不计数呢?
计数了,因为采用了多线程,主线程输出的时候子线程还没执行完毕。就像你同学本来有2瓶汽水,叫你帮忙买3瓶,你没回的时候他当然说总数是2.
解决方案:可以在thread1.start()后面加上thread1.join()表示等待。
2、进行连续多个端口扫描时,为什么扫描是无序的?
线程相当于多个人去做多件事情,有点人快有点人慢(就是有的人会抢位置些),所以顺序自然不定。除非你加入自己的机制。

3、我想在Scan()中当判断端口是否打开的时候用if else直接输出结果,为什么else不能输出呢,必须用catch里才能输出?
tc.Connect(m_host, m_port); 方法表示连接到该机器的指定端口,连接上了状态为已经连接,没连上会报异常,后面代码不会执行的。所以只能在catch做。

回答2:

你的代码太乱了
写得清楚点,这样看眼都花了
你可以分几次发嘛

回答3:

感觉好复杂