xử lý Gán cho OnWorkBegin
, OnWork
, và OnWorkEnd
sự kiện của đối tượng TIdTCPConnection
của kết nối. Sự kiện OnWorkBegin
có thông số AWorkCountMax
cung cấp cho bạn tổng số byte dự kiến sẽ được chuyển (nếu biết trước thời hạn). Sự kiện OnWork
có thông số AWorkCount
cung cấp cho bạn tổng số hoạt động thực sự được chuyển bao nhiêu byte kể từ khi sự kiện OnWorkBegin
được kích hoạt.
Bất cứ khi nào sự kiện OnWork
được kích hoạt, trừ giá trị AWorkCount
trước đó khỏi giá trị hiện tại AWorkCount
để xác định số byte đã được chuyển giữa hai sự kiện và sau đó chia giá trị đó cho khoảng thời gian đã trôi qua giữa hai sự kiện sự kiện. Với giá trị cuối cùng đó, bạn có thể tính b/sec, kb/giây, mb/giây, v.v. nếu cần.
Tùy thuộc vào chính xác cách thức bạn đang gửi/nhận dữ liệu của bạn, bạn có thể phải tự gọi các phương pháp BeginWork()
và EndWork()
của TIdTCPConnection
để có được những OnWork...
sự kiện để bắt đầu bắn. Hầu hết các phương pháp đọc/ghi của Indy không gọi Begin/EndWork()
nội bộ.
Nguồn
2011-12-28 02:13:54
Vui lòng không đặt thông tin thẻ vào tiêu đề câu hỏi của bạn. Nó đánh bại mục đích của việc có thẻ ở nơi đầu tiên, và làm cho chủ đề câu hỏi dài hơn và khó đọc hơn. Ngoài ra, khi bạn đang sử dụng một cái gì đó như Indy, nơi có sự khác biệt lớn giữa các phiên bản, nó sẽ giúp nếu bạn bao gồm phiên bản của các thành phần bạn đang sử dụng. Cảm ơn. –