![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| MiWi, Zigbee, Ethernet ZigBee có khả năng kết nối tới 65000 node, MiWi dành riêng cho Microchip chỉ kết nối được 1000 node, nhưng điều gì đang diễn ra...? |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 5 túi
Tham gia ngày: Dec 2008
Nơi Cư Ngụ: Hà Nội
Bài gửi: 91
: |
Cái này là do khi mở Socket, bạn phải khai báo địa chỉ đích,ở đây bạn mở 2 socket để kết nỗi với 2 thiết bị khác nhau &ServerNamePC và &ServerName. Trong địa chỉ đích, không những có địa chỉ IP mà còn phải có cả địa chỉ MAC nữa.
Nếu không khai báo địa chỉ MAC thì PIC sẽ lấy địa chỉ MAC mà nó thu được khi quá trình kết nối thành công với 1 PC bên ngoài. Vì thế bạn sẽ chỉ kết nối được với 1 PC bên ngoài. Bạn dùng lệnh này để lấy địa chỉ MAC của PC tương ứng với địa chỉ IP của nó nhé ARPResolve(&server_info.IPAddr); lệnh này để gửi yêu cầu trả về địa chỉ MAC Sau khoảng 1s kiểm tra điều kiện if(ARPIsResolved(&server_info.IPAddr, &server_info.MACAddr)); nếu điều kiện đúng, tức là ta đã có địa chỉ MAC. Khi đó bạn mở Socket thì đã có thông tin chính xác của địa chỉ đích tới, thông tin dữ liệu hoàn toàn do mình điều khiển. Chúc bạn thành công. |
|
|
|
|
|
#2 | |
|
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 11
: |
Trích:
Code: ARPResolve(&Server_info.IPAddr); //DelayMs(1000); if(ARPIsResolved(&Server_info.IPAddr,&Server_info. MACAddr)) { MySocket = TCPOpen(Server_info.IPAddr.Val,TCP_OPEN_RAM_HOST,S erverPort,TCP_PURPOSE_GENERIC_TCP_CLIENT); } Mình có xem lại TCPIP Stack help thì hàm TCPOpen() đã làm luôn công việc hỏi địa chỉ MAC luôn, dùng hàm ARP là không cần thiết khi sử dụng các hàm TCPOpen() và UDPOpen(). Đuối quá, xin nói rõ hơn chút nữa là mình dùng cái App: GenericTCPClient.c; + Mình đã làm với cách là: mở Socket1=>truyền data=>đóng Socket1 =>mở Socket2=>truyền data=> đóng Socket2. Truyền nhận bình thường. + Nhưng mở Socket1=>mở Socket2 thì bị treo => tắt Server của Socket1 thì Socket2 truyền nhận bình thường =>mở lại Server Socket1 => Socket2 treo trở lại. Có bạn nào hay anh chị nào đã làm với 2 Socket chạy song song như em xin chỉ bảo giúp với. Cảm ơn rất rất nhiều !! thay đổi nội dung bởi: honghoan, 08-08-2011 lúc 03:23 PM. |
|
|
|
|
![]() |
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|