PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MiWi, Zigbee, Ethernet (http://www.picvietnam.com/forum/forumdisplay.php?f=60)
-   -   [TCPIP Stack]Làm thế nào để phát hiện disconnect khi rút cáp mạng ra? (http://www.picvietnam.com/forum/showthread.php?t=6630)

bebungbu 07-07-2010 04:23 PM

[TCPIP Stack]Làm thế nào để phát hiện disconnect khi rút cáp mạng ra?
 
Chào mọi người,

Tình hình là cái board của mình là TCP Client.
Ứng dụng trên Windows là TCP server.
Trường hợp khi board đã connect được với server thì rút cáp mạng ra,
khi đó thì board không biết được mất kết nối.
Làm thế nào để phát hiện disconnect trong trường hợp này?
Ai biết thì chỉ mình với nhe.
Cám ơn.

bien_van_khat 07-07-2010 04:40 PM

TCPIsConnected ?????

bebungbu 07-07-2010 06:00 PM

Trích:

Nguyên văn bởi bien_van_khat (Post 37170)
TCPIsConnected ?????

Mình đã thử rồi, nếu tắt ứng dụng server thì TCPIsConnected trả về false,
nhưng đang kết nối mà rút dây thì TCPIsConnected vẫn là true.
Mình test nhiều lần rồi, mong xác nhận trường hợp này dùm.
Cám ơn.

bien_van_khat 08-07-2010 01:26 AM

Trích:

Nguyên văn bởi bebungbu (Post 37172)
Mình đã thử rồi, nếu tắt ứng dụng server thì TCPIsConnected trả về false,
nhưng đang kết nối mà rút dây thì TCPIsConnected vẫn là true.
Mình test nhiều lần rồi, mong xác nhận trường hợp này dùm.
Cám ơn.

Bạn thử MACIsLinked xem.

bebungbu 08-07-2010 12:03 PM

Trích:

Nguyên văn bởi bien_van_khat (Post 37176)
Bạn thử MACIsLinked xem.

Quá hay, quả nhiên là rút dây mạng ra thì hàm MACIsLinked phát hiện ra được.
Nhưng lại có vấn đề tiếp theo:
Sau khi phát hiện rút dây mạng ra, ta thực hiện TCPDisconnect(MySocket) hoặc TCPClose(MySocket) để đóng kết nối.
Về phái ứng dụng server thì khi phát hiện đứt kết nối đã đóng kết nối hiện tại,
và tiếp tục lắng nghe kết nối mới.
Phía board client sau khi thực hiện đóng kết nối,
thì gọi TCPOpen nhưng lúc này không kết nối được tới server nữa.
Mình không biết lý do tại sao bị như thế, mong mọi người chỉ dùm nhe.
Cám ơn.

manhdktd 16-07-2010 12:42 AM

các bác đã làm về ethernet rồi thì xin chỉ bảo hướng làm cho em với.em đang tìm hiểu mà chưa biết làm kiểu gì cả.thanks các bác


Múi giờ GMT. Hiện tại là 03:55 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam