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
-
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.
-
Connection: keep-alive : cho phép dùng 1 kết nối TCP cho nhiều cặp http request/response (thông thường 1 phiên TCP dùng cho 1 request/response, sau đó đóng và mở 1 phiên TCP mới cho request/response mới).Nguyên văn bởi nacdanh90 Xem bài viếtThầy giải thích giúp em 2 trường trong http get với ạ!
+ Keep-Alive: 300
+ Connection: keep-alive có ý nghĩa là gì ko ạ?
Em hiểu nó là thời gian để giữ kết nối TCP liệu có phải vậy ko ạ? và số 300 kia chắc là thời gian nhưng em chưa biết đơn vị của nó là gì? Thầy giải thích thêm giúp em với ạ!
Keep-alive: 300: max timeout, đơn vị s.
Leave a comment:
-
Thầy giải thích giúp em 2 trường trong http get với ạ!
+ Keep-Alive: 300
+ Connection: keep-alive có ý nghĩa là gì ko ạ?
Em hiểu nó là thời gian để giữ kết nối TCP liệu có phải vậy ko ạ? và số 300 kia chắc là thời gian nhưng em chưa biết đơn vị của nó là gì? Thầy giải thích thêm giúp em với ạ!
Leave a comment:
-
Không được, một kết nối TCP thành công phải kết thúc bằng cờ FIN, đóng theo cách thông thường. Gửi RST chỉ trong trường hợp kết nối bị lỗi (không được chấp nhận, phía nhận không xử lý được dữ liệu,...) vì kết nối đóng bằng RST có thể khiến cho phía bên kia hủy bỏ dữ liệu đã nhận được mà không chuyển lên lớp ứng dụng.Nguyên văn bởi nacdanh90 Xem bài viếtthầy ạ ! giờ em để ý kĩ đoạn thầy bảo em "đóng ngay lập tức kết nối khi chưa gửi dữ liệu"? vậy khi đã gửi xong rồi và gửi Reset thì có đóng được kết nối TCP ngay không thưa thầy ?
Leave a comment:
-
thầy ạ ! giờ em để ý kĩ đoạn thầy bảo em "đóng ngay lập tức kết nối khi chưa gửi dữ liệu"? vậy khi đã gửi xong rồi và gửi Reset thì có đóng được kết nối TCP ngay không thưa thầy ?
Leave a comment:
-
Vâng ạ! EM cảm ơn thầy! Hi! thầy thức muộn vậy ạ ? Vậy thì khi client load xong dữ liệu em sẽ đóng kết nối bằng cách gửi gói tin với cờ RESET đc set cho nhanh đỡ phải thực hiện các bước sau!hi
Leave a comment:
-
Chỗ 700 đã nói là MSS. Còn window có ý nghĩa cho phía phát biết kích thức buffer dữ liệu mà phía thu có thể nhận đồng thời (chứa trong buffer trước khi truyền lên lớp ứng dụng). Như vậy phía phát sẽ không phát số byte (tính từ last ack) vượt quá window size, mà nó phải dừng lại để đợi ack mới. Với cơ chế đó thì window size/MSS chẵn hay không cũng vậy thôi mà.Nguyên văn bởi nacdanh90 Xem bài viếtVâng thưa thầy! Em đã điền thử điền trường Host là tên miền thì đươc. còn IP thì nó không tìm thấy a.vì theo như trên em nói chắc có lẽ tại cùng 1 IP đó có nhiều tên miền con nên chỗ Host đó phải điền là tên miền con .hì còn User Agent em điền bất kì được a.
Thầy cho em hỏi thêm một chút về phần TCP. Đoạn số 700 của thầy mỗi lần truyền dữ liệu TCP thì tối đa là 700 byte phải không ạ ? còn window là giới hạn mà khi bên nhận nhận được x gói tin có tổng bằng window thì phải gửi trả lại bên gửi một bản tin xác nhận đã nhận đủ để bên gửi gửi tiếp các gói tiếp theo phải ko ạ ? Nhưng nếu số gói x =window /MSS mà là một số ko chẵn thì nó sẽ xử lý thế nào ạ ?
Cờ FIN không phải là cờ yêu cầu đóng kết nối ngay lập tức, nó chỉ báo rằng phía gửi cờ FIN đã hoàn tất việc gửi dữ liệu và sẵn sàng để đóng kết nối, kết nối chỉ thực sự được đóng nếu phía bên kia cũng sẵn sàng đóng kết nối và gửi đi cờ FIN.
Nếu 1 trong 2 phía muốn đóng ngay lập tức kết nối khi chưa gửi dữ liệu (ví dụ server không đủ tài nguyên để mở thêm kết nối với client,...) thì nó sẽ gửi cờ RST (như trường hợp bạn gặp hôm trước). Cờ này đóng lập tức kết nối.
Leave a comment:
-
Thầy Tâm giải thích giúp em đoạn này với ạ ? Trong một phiên kết nối TCP. một trong 2 bên có thể gửi yêu cầu đóng kết nối ngay sau khi thiết nối 2 bên được thiết lập (chưa truyền dữ liệu) ko ạ ?
Nếu một bên muốn đóng kết nối thì nó chỉ gửi bản tin với cờ FIN đc set hay là cả cờ FIN và cờ ACK ạ ? và bên kia khi nhận được yêu cầu đóng kết nối sẽ gửi lại bản tin với các cờ như thế nào ạ ?
Leave a comment:
-
Vâng thưa thầy! Em đã điền thử điền trường Host là tên miền thì đươc. còn IP thì nó không tìm thấy a.vì theo như trên em nói chắc có lẽ tại cùng 1 IP đó có nhiều tên miền con nên chỗ Host đó phải điền là tên miền con .hì còn User Agent em điền bất kì được a.
Thầy cho em hỏi thêm một chút về phần TCP. Đoạn số 700 của thầy mỗi lần truyền dữ liệu TCP thì tối đa là 700 byte phải không ạ ? còn window là giới hạn mà khi bên nhận nhận được x gói tin có tổng bằng window thì phải gửi trả lại bên gửi một bản tin xác nhận đã nhận đủ để bên gửi gửi tiếp các gói tiếp theo phải ko ạ ? Nhưng nếu số gói x =window /MSS mà là một số ko chẵn thì nó sẽ xử lý thế nào ạ ?Last edited by nacdanh90; 19-04-2012, 23:09.
Leave a comment:
-
Host: Điền domain name hay địa chỉ IP đều được. Mỗi tên miền chỉ tương ứng với 1 địa chỉ IP thôi.Nguyên văn bởi nacdanh90 Xem bài viếtEm phát hiện ra lỗi này là do sau khi gửi bản tin thứ 2 thì TCP server sau khi nhận đc sẽ thực hiện kết nối và sau bước này client phải gửi tiếp một bản tin tcp khác (chẳng hạn GET HTTP). Trong giao thức http thầy giải thích rồi nhưng em đọc và khi thực hiện gặp phải một số vấn đề sau mong thầy giải đáp giúp em:
Thứ nhất: Trường Host: điền IP của server muốn load http vệ theo em biết thì ở đây điền IP của server vào cũng đc. Nhưng chẳng hạn cùng 1 server: 123.210.131.129 lại có nhiều tên miền con là : a .123 .com hoặc b .123 .com thì trong trường hợp này điền IP vào có được hay ko ả và nếu điền tên miền thì webserver có hiểu ko ạ ?
Thứ 2: User Agent, Trường Accept Text, language có quan trọng ko ạ ? Nếu load web về avr thì user Agent điền là trình duyệt gì ả
Em cảm ơn thầy trước!
User Agent: cung cấp thông tin cho Web sever biết client đang duyệt web bằng browser gì,... để từ đó Web server sẽ điều chỉnh nội dung trang web trả lại cho phù hợp, ví dụ duyệt bằng smartphone thì trang web sẽ được lượt bỏ bớt và layout lại cho phù hợp (tính năng này phụ thuộc vào web server)
Accept-Charset, Accept-Text, ... cho biết tập ký tự, bảng mã,... mà client có thể nhận. Ví dụ bạn dùng vi điều khiển làm client và không muốn nhận ký tự mã unicode thì có thể để: Accept-Charset: iso-8859-5, đừng cho UTF-8 hay unicode vào.
Tương tự vậy Accept-Language cho biết client muốn nhận nội dung trang web bằng ngôn ngữ nào.
Load về AVR thì User Agent điền gì tùy bạn thôi.
Tham khảo thêm: HTTP/1.1: Request
Leave a comment:
-
Em phát hiện ra lỗi này là do sau khi gửi bản tin thứ 2 thì TCP server sau khi nhận đc sẽ thực hiện kết nối và sau bước này client phải gửi tiếp một bản tin tcp khác (chẳng hạn GET HTTP). Trong giao thức http thầy giải thích rồi nhưng em đọc và khi thực hiện gặp phải một số vấn đề sau mong thầy giải đáp giúp em:Nguyên văn bởi nacdanh90 Xem bài viếtVâng ạ! hi! Thầy giải thích giúp em một lỗi sau mà em chưa hiểu nguyên nhận: đầu tiên gửi bản tin SYN đến server ở trên internet (seqNum=x,window=700,mss=700,SYN set). em đã nhận đc một bản tin(seqNum=y, window=8192,SYN,ACK set,ACK number=x+1)->bản tin xác nhận của server sau khi server đã nhận đc bản tin đầu tiên em gửi. Em lại gửi tiếp bản tin thứ 2 đến server(seqNum=x+1,window=700,ACK set(SYN=0),ACK number=y+1). Em tưởng sau bước này nếu server nhận đc bản tin thứ 2 nó sẽ mở kết nối TCP nhưng sao nó lại gửi trả lại một bản tin (RST set,window=0 ) ả ! Thầy giải thích giúp em lỗi này với ạ! Và Khi nào server sẽ gửi bản tin RESET tcp ả
Thứ nhất: Trường Host: điền IP của server muốn load http vệ theo em biết thì ở đây điền IP của server vào cũng đc. Nhưng chẳng hạn cùng 1 server: 123.210.131.129 lại có nhiều tên miền con là : a .123 .com hoặc b .123 .com thì trong trường hợp này điền IP vào có được hay ko ả và nếu điền tên miền thì webserver có hiểu ko ạ ?
Thứ 2: User Agent, Trường Accept Text, language có quan trọng ko ạ ? Nếu load web về avr thì user Agent điền là trình duyệt gì ả
Em cảm ơn thầy trước!
Leave a comment:
-
thầy tâm ơi giúp em với nếu mình dùng máy tính từ xa điều khiển về thì chương trình như thế nào ạ. Em đang làm đồ án " thiết kế và thi công mạch điều khiển thiết bị qua internet" vậy nên từ nãy tới giờ em thấy mình toàn phải đi ngược vấn đề ko à, vì ở đây toàn thấy máy tính nhận dữ liệu
Leave a comment:
-
Vâng ạ! hi! Thầy giải thích giúp em một lỗi sau mà em chưa hiểu nguyên nhận: đầu tiên gửi bản tin SYN đến server ở trên internet (seqNum=x,window=700,mss=700,SYN set). em đã nhận đc một bản tin(seqNum=y, window=8192,SYN,ACK set,ACK number=x+1)->bản tin xác nhận của server sau khi server đã nhận đc bản tin đầu tiên em gửi. Em lại gửi tiếp bản tin thứ 2 đến server(seqNum=x+1,window=700,ACK set(SYN=0),ACK number=y+1). Em tưởng sau bước này nếu server nhận đc bản tin thứ 2 nó sẽ mở kết nối TCP nhưng sao nó lại gửi trả lại một bản tin (RST set,window=0 ) ả ! Thầy giải thích giúp em lỗi này với ạ! Và Khi nào server sẽ gửi bản tin RESET tcp ảNguyên văn bởi nttam79 Xem bài viếtTrường Option trong TCP Header không qui định chiều dài bắt buộc, miễn là phải chẵn 32 bit (nếu không phải chèn thêm Padding vào). Trường data offset sẽ cho ta biết chính xác chiều dài của Header, từ đó ta biết được option dài bao nhiêu. Vì vậy trường Option có thể là 8, 12 byte,... Nội dung chứa trong trường option thì tùy thuộc vào dịch vụ. Tương tự vậy Header TCP của gói syn có thể dài 32 byte (12 byte option).Last edited by nacdanh90; 18-04-2012, 19:38.
Leave a comment:
-
IP động hay tĩnh đều được. Trong file AVRnet.h có phần cấu hình địa chỉ IP, nếu muốn set IP tĩnh, bạn khai báo IP, subnet mask, gateway,... ở đây. Nếu địa chỉ IP set ở đây là 0.0.0.0 thì board sẽ nhận IP động từ DHCP server khi vừa boot lên (chưa hỗ trợ nhận IP động khi cắm cable mạng vào).Nguyên văn bởi BMD2008 Xem bài viếtAnh Tâm ơi cho em hỏi. Phần này anh dùng địa chỉ IP để điều khiển là IP động hay IP tĩnh vậy
Leave a comment:
Bài viết mới nhất
Collapse
-
bởi lvhnHãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:49 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnNhớ không nhầm thì lúc còn đi học có gặp chú 1 lần cf bãi xe Nguyễn Kim, giờ quán cf đó nghỉ bán rồi
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:44 -
-
Trả lời cho Thắc mắc pin 21v ?bởi lvhnCon số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:32 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnThay mấy con transisto nhỏ đầu vào, thường vi sai lỗi hay bị. Khám tổng quát chân các linh kiện xem có bị rỉ sét nhiều không?
-
Channel: Điện thanh
Hôm qua, 15:24 -
-
bởi dinhthuong92Mạch này hiệu suất ra led đạt khoảng 90.7% tại 12V in, 40W out.
-
Channel: Nguồn!
27-07-2026, 10:15 -
-
bởi dinhthuong92Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
-
Channel: Nguồn!
27-07-2026, 10:09 -
-
Trả lời cho [Chia sẻ] Tổng hợp các công ty AI Việt Nam đang làm gì thật sự — Từ voicebot, computer vision đến AI agentsbởi nguyendinhvanCàng ngày, CNTT càng trở nên lôi thôi , rách việc.
Cái AI và Ge... trên trình duyệt chỉ tổ làm vướng mắt, mất thì gian.
Tôi toàm phải mất cộng tắt nó đi.-
Channel: Xu hướng, nhu cầu và thị trường
25-07-2026, 14:59 -
-
bởi trung30000Em có con amply 12 sò D 718 và e688 , biến áp 15A, 30v 0 30 v, một kênh thì hoạt động bình thường, kênh còn lại nổ bụp bụp, sột sột, đèn tín hiệu nhảy lên vạch max, khoảng 4 đến 5 giây, sau đó đèn tín hiệu trả về mức không, Em thấy như...
-
Channel: Điện thanh
24-07-2026, 13:50 -
-
Trả lời cho Tìm hiểu máy hàn lăn (Rolling Welding)bởi hoang_3ibác cần thì liên hệ Em: mayhanhaivuong.com (0903238399)...
-
Channel: Điện tử công nghiệp
24-07-2026, 10:58 -
-
Trả lời cho Công thức tính định luật kirchhoffbởi abcnewmemberGiải bằng hệ phương trình bật nhất 3 ẩn.
...
-
Channel: Hỗ trợ học tập
23-07-2026, 14:52 -

Leave a comment: