Thông báo

Collapse
No announcement yet.

Giao thức TCP/IP và Web server với AVR

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • nghỉ lễ xong chắc mọi người mệt mỏi hay sao ko thấy commend hixhix em sắp bảo vệ đồ án giữa kỳ rùi mọi người ơi help me

    Điện tử viễn thông - Hutech

    Comment


    • Nguyên văn bởi nacdanh90 Xem bài viết
      Thầy cho em xin ý kiến của thầy về vấn đề sau ạ! Em thấy thông thường máy tính muốn load web về thì tạo kết nối TCP đến webserver và sau khi đã kết nối thành công nó sẽ gửi bản tin GET http đến webserver và giữ nguyên trạng thái kết nối đó. Một khoảng thời gian sau muốn load lại web(người dùng nhấn F5) thì client ko phải tạo kết nối TCP mới mà chỉ gửi tiếp bản tin Get http. Em đang thắc mắc là giữa 2 cách làm: 1 là 1 kết nối chỉ dùng cho 1 cặp request/response và 2 là một kết nối dùng cho nhiều cặp request/response thì cách nào sẽ làm cho máy server đỡ tốn tài nguyên?
      Và một vấn đề nữa là: khi client đã load xong hết dữ liệu rồi nó gửi thẳng một bản tin RESET thì lúc này server nó sẽ ngắt kết nối ngay lập tức với client hay là nó vẫn giữ kết nối đó trong một khoảng thời gian time out?
      - TCP/IP là giao thức kết nối cấp thấp
      - GET là lệnh trong giao thức HTTP cấp cao hơn, và lưu ý là không "giữ kết nối" như bác nghĩ, mà ngắt ngay sau khi GET
      Cho nên mỗi khi GET thì phải tạo lại kết nối, không có giữ vì port kết nối là hữu hạn

      Việc Client RESET chỉ là tác động báo server rằng session làm việc kết thúc, client đã... bỏ đi chứ thực chất kết nối đã ngắt từ sau khi request lệnh rồi, cái này là bản chất của giao thức HTTP

      Comment


      • Vâng ạ! Tại vì em thấy sau khi get xong trang web em nhấn F5 thì client nó ko thiết lập lại kết nối TCP mà nó gửi luôn bản tin Get lên em mới có khái niệm "giữ kết nố TCP" Hi, Em cảm ơn anh nameless!

        Comment


        • Nguyên văn bởi chikichita Xem bài viết
          [ATTACH=CONFIG]44297[/ATTACH]
          mọi người xem hình chỉ dùm em cách khắc phục lỗi này với. em biên dịch ra chỉ dc vậy thôi, đang làm mạch mà không biết sao nữa nhờ mọi người giúp đỡ
          Lỗi trên do chưa define kiểu uint8.
          Source trên viết bằng AVR studio, bạn lại biên dịch bằng CodeVision nên nhiều kiểu biến CodeVision không hiểu, nếu sửa hết để biên dịch bằng codevision thì mất thời gian lắm đó.

          Comment


          • ah ra vậy ah thầy. Tại em học trên trường dạy viết cho 89C51 bằng hợp ngữ. sau này xin đi làm công ty viết về AVR mà quen dùng CodeVision rồi nên thử chuyển qua biên dịch xem có được không thấy thư viện hơi khác nên em có sửa mấy chỗ thư viện mà vẫn bị như vậy. Em cám ơn thầy nhiều nha chắc để em thử trên AVR studio xem sao.

            Xin lỗi em cũng mới làm quen còn gà mờ nên xin được chỉ giáo thêm

            Mong mọi người chiếu cố

            Điện tử viễn thông - Hutech

            Comment


            • thầy tâm ơi cho e hoi có cách khắc phục lỗi lúc ping được. lúc ko ping được. em đang gặp vấn đề ở chổ này mong thầy giúp đỡ.

              Comment


              • Em có một thắc mắc về cơ chế Sliding window của TCp mong thầy và các anh giải thích giúp em với ạ?

                Click image for larger version

Name:	34e3c873747ea7ee1ecc609dfb477986_44370264.image2002.gif
Views:	1
Size:	13.8 KB
ID:	1360614

                Hình ảnh em lấy trong trang : http://wiki.mikrotik.com/wiki/Manual.../IP%29#content

                Trong hình vẽ trên khi Host B(phía nhận) đã tăng window size lên =2000 rồi thì sao host A không gửi 1 lần là 2000 bytes luôn mà lại gửi 2 lần, mỗi lần 1000 bytes ạ?

                Comment


                • Nguyên văn bởi nacdanh90 Xem bài viết
                  Em có một thắc mắc về cơ chế Sliding window của TCp mong thầy và các anh giải thích giúp em với ạ?

                  [ATTACH=CONFIG]44576[/ATTACH]

                  Hình ảnh em lấy trong trang : Manual:Connection oriented communication (TCP/IP) - MikroTik Wiki

                  Trong hình vẽ trên khi Host B(phía nhận) đã tăng window size lên =2000 rồi thì sao host A không gửi 1 lần là 2000 bytes luôn mà lại gửi 2 lần, mỗi lần 1000 bytes ạ?
                  Không gửi được 2000bytes/gói vì giới hạn MSS (max=1460). Với lại window size chỉ có nghĩa là sau khi gửi chừng đó byte thì sender phải dừng lại chờ ACK chứ nó không qui định phải gửi trong bao nhiêu gói, nó có thể bao nhiêu gói cũng được (tùy thuộc MSS).

                  Comment


                  • Vâng ạ! Em cảm ơn thầy! Em xin lỗi thầy, cái MSS này thầy nói nhiều rồi mà em lại quên khuấy đi mất.

                    Comment


                    • mọi người giúp em với bị báo lỗi này là sao vậy
                      Click image for larger version

Name:	2.jpg
Views:	1
Size:	69.2 KB
ID:	1360650

                      Điện tử viễn thông - Hutech

                      Comment


                      • project rất hay, nhưng có phần quan trọng trong giao thức TCP là xử lý các trường hợp gửi lại packet khi sai ack thì chưa thấy.

                        Comment


                        • nghĩa là khi Board gửi đi 1 packet thì phải đợi ACK thì Client, hết timeout mà ko có ACK thì phải retransmit lại packet đó, nếu gửi lại đến maxretry mà vẫn ko có ACK thì phải FIN chứ . Nếu chỉ nối Board với PC thì chắc OK vì ko có sự nghẽn mạng. Nhưng khi nối ra www thì mới có vấn đề.

                          Comment


                          • anh nttam79,hieppro89, dinh_dong ...

                            Em dùng Cáp Chéo để nối máy PC và mạch vào modem 4 cổng.Em đặt PC và mạch đều địa chỉ IP động.
                            Khi em gắn cáp chéo từ mạch vào modem thì thấy đèn cổng modem ko sáng.
                            Mọi người hướng dẫn em cách để ping từ PC tới mạch với.

                            Mong anh Tâm và mấy bạn giúp.

                            Comment


                            • Nguyên văn bởi chikichita Xem bài viết
                              mọi người giúp em với bị báo lỗi này là sao vậy
                              [ATTACH=CONFIG]44637[/ATTACH]
                              bạn tham khảo ở đây để sửa:
                              AVR Freaks :: View topic - Error Code: -2147467259:

                              Thân.

                              Comment


                              • Nguyên văn bởi nacdanh90 Xem bài viết
                                Vâng ạ! em cảm ơn thầy! Vậy nếu ko muốn dùng 1 kết nối TCP cho nhiều request/response thì ta bỏ 2 trường này đi đc ạ! E thấy máy tính hình như vẫn dùng 1 phiên tcp cho nhiều cặp request và response.
                                Trước đây, mỗi kết nối TCP sẽ thực hiện chỉ 1 request HTTP và 1 response, nghĩa là nếu client request 2 lần thì sẽ cần 2 phiên kết nối TCP. Điều này gây ra nhiều bất cập, ảnh hưởng rất nhiều đến hiệu năng hoạt động của server.
                                Hiện nay, giao thức HTTP đã hỗ trợ một phiên kết nối TCP cho phép nhiều HTTP request

                                Client không cần phải chờ Server response mới có thể request và ngược lại.
                                Hoạt động HTTP đơn giản nhất là GET. Đó là cách để Client lấy một đối tượng hoặc tài nguyên nào đó trên Server. Các trình duyệt sẽ yêu cầu một website từ Server với GET.

                                Comment

                                Về tác giả

                                Collapse

                                nttam79 Tìm hiểu thêm về nttam79

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X