在线程 中加socket问题 高手。。。。。。。。。。。。。。过来(100分)

  • 主题发起人 主题发起人 wyismail
  • 开始时间 开始时间
W

wyismail

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好我在thread 中的execute 创建 TClientSocket的实例,
服务端用TServerSocket 创建。
结果客户端发 数据给服务端发 数据发不了,
然后把 TSocketThread = class(TThread)
改为TSocketThread = class,
再把Execute 中的内容方到Create 中去,结果可以发数据,请问这是为事么
有例子给发个阿
 
你還不清楚 Server 端多線程的基本工作原理,多看看書或幫助吧,
我接收客戶端的數據一般用:
TSrvClientTh = class(TServerClientThread)
先把 TServerClientThread、TServerClientWinSocket 、TServerWinSocket 等等多個類完全吃透了,再試試 Delphi 幫助文件裡面的幾個例子後,你會發現,Delphi 的多線程 Socket 編程不過如此,隻是把 Windows 的 Socket 封裝得更簡單好用一點而已,你自己也能定義別的 Socket 類了。
學一個東西的初期最主要是看教材、測試、再看幫助、再測試,這樣基本沒有不成的,後期高級應用再問問題也不遲。
 
TSocketThread = class 是创建了继承TObject类啊,那样所有的执行都在主线程内。
如果这样好用的话,你可以看看是不是ClientType、ServerType的属性不对,
 
如果你是在客户端用多线程发送的话,我觉得没这个必要
因为用上线程,在处理和数据的完整都比较难控制
 
建议从Socket API学起对你网络编程有很大提升
 
建议你从 ASM 学起,对你的提升更大
 
后退
顶部