作者HZYSoft (PCMan 2003)
看板PCman
標題Re: [問題] 一直以來困擾的問題... >_<
時間Sun Sep 14 19:50:38 2003
※ 引述《ScottYu (夜光阿特)》之銘言:
: PCMan 版本: Pro, XP++ Pro, 2003 Pro 均有此現象...
: 作業系統: Microsoft 2000
: 問題簡述: Telnet 多視窗連線僅有一個視窗能正確工作...
: 問題描述: 我是 PcMan 的愛用者, 之前使用 PCMan 就一直存在一個問題,
: 原先還是正常, 但是當用了一段時間之後, 就會發生這個現象,
: 當開啟新的 Telnet 連線視窗後, 之前的連線視窗就不會動作
: 了, 而再開新的視窗, 舊的視窗又不能動作了, 可是再不能工
: 作的視窗按鍵網路卻又顯示有封包傳遞, 因此我同時連上兩個
: 測試, 發現連線還是 connected, 對方也有接收到按鍵, 可是
: 對方的回應卻完全無法看到, 這困擾我許久.
: 不知道問題所在, 之前 EmEditor 有時候也會當掉, 我通常採
: 用 Delete User再 Add User 的方式可以暫時解決, 但對這個
: 問題無效, 要重灌作業系統才能解決, 不知道有沒有人跟我有
: 一樣的情況, 因為這已經不是第一次了, 而我又剛灌完作業系
: 統, 沒多久又發生了... 所以... >_<...
: 作者似乎很忙, 所以我想有沒有解決都沒關係, 只是想說明一
: 下我所遇到的情況... ^_^
在很久以前,曾經確實有過這麼一個bug,因為PCMan本身程式設計有誤
但是歷經好幾個月六個測試版之後,找到問題,因為使用了不太正確的寫法導致
後來在新版的PCMan中改寫了整個處理網路資料的部分,使用正確的寫法
經過長期測試也沒有問題,之後那段程式就沒再更動過,而程式使用的也是基本的Winsock
初步認定應該不會有什麼嚴重錯誤,事實上只使用基本的Winsock應該不會有什麼大問題
所以這個問題在純BBS的版本後來確實沒再發生,但Pro的版本因為加上了瀏覽器支援
IE本身有用到一些multithreading,所以我多做了一點點很基本的synchronize動作
設計的確實不是很好,'當開啟新網頁,而該網頁由於IE本身問題當住的時候,就會連帶
其他東西一起被影響,偶爾會發生卡住的情況,但卡住是指無法切換到其他連線
並非其他連線失效,這種情況也很少發生,至於BBS的部分,為了節省記憶體,
所以各連線接收資料時共用buffer,但是就Winsock本身的設計,不會有synchronize的問題
各sock也不會同時用到buffer所以應該可以這樣用,新版Windows的Sock是否有改變此模式?
應該是不會改才對,否則會影響太多現存的程式,所以也應該不是這個問題造成,
我還是認為程式本身應該沒有問題,但是我沒把握我說的對不對,因為網路程式我懂得不多
只是身邊也有不少人在用,確實未曾聽到此種情況,如果使用者確實有封包送出,
而畫面沒有更新,是因為主機沒有回應新的畫面內容,所以PCMan無法顯示新畫面.
既然叫做終端機模擬,要顯示什麼畫面當然由連線的主機負責送過來,然後由終端機呈現
但為什麼主機沒有送來新的畫面,其中細節我就無法得知,說了這麼多,
還是老話一句,小弟才疏學淺,真的是不知道真正的原因,但是我覺得應該不是程式本身有錯
抱歉我只能這樣回答...^^"
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 140.129.59.3
1F:→ NelsonT:已收至->說明 推 140.113.95.89 09/15