Mình đang làm 1 giao điên web server để điều khiển thiết bị wa internet việc gửi và nhận dữ liệu từ phần cứng thì được rồi nhưng do thiết bị ở xa nên khi gửi chuổi dữ liệu đi thì phần cứng sẽ gửi dữ liệu về báo nhưng vấn đề ở đây là nếu mà trong 1 khoảng thời gian nào đó mà sever không nhận được dữ liệu từ phần cứng thi phải tự đông ngắt kết nối để kết nối lại ko thui sẽ bị treo máy vì minh đã viết lệnh cho socket dừng lại để nhận dữ liệu thông qua lệnh này :
ClassAll.lightsock.Receive(data); //cho socket chờ nhận dữ liệu phản hồi
string str = encoding.GetString(data); //dữ liệu lấy về lưu cào chuỗi str
if (str != "") //nếu có dữ liệu phản hồi (str khac 0) thì:
{
......................
}
Vấn đề là mình không thể tạo thời gian trễ VD: trong khoảng thời gian là 10s mà nó không nhận được dữ liệu truyền về thì sẽ ngắt kết nói mình nghi mai ko biết làm sau. Bác nào có cách nào khác giúp mình không? Thanks!
ClassAll.lightsock.Receive(data); //cho socket chờ nhận dữ liệu phản hồi
string str = encoding.GetString(data); //dữ liệu lấy về lưu cào chuỗi str
if (str != "") //nếu có dữ liệu phản hồi (str khac 0) thì:
{
......................
}
Vấn đề là mình không thể tạo thời gian trễ VD: trong khoảng thời gian là 10s mà nó không nhận được dữ liệu truyền về thì sẽ ngắt kết nói mình nghi mai ko biết làm sau. Bác nào có cách nào khác giúp mình không? Thanks!
Comment