RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

có ai biet TCP cho LPC1768 không chỉ hộ với ?

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • dangphamlich
    replied
    thế đã có pro nào chạy online chưa

    Leave a comment:


  • shindo216
    replied
    Nguyên văn bởi nguyenvanvui Xem bài viết
    chẳng qua sample code hiện tại chỉ cho truyền 1 lần rồi bạn làm biếng ko chịu sửa rồi đổ lỗi cho tcp chứ mình làm chạy ngon lành chứ có vấn đề j đâu,bạn phải biết 1 frame của tcp truyền xuống bao nhiêu byte?bao nhiêu header byte?bao nhiêu data byte?khi connect hay dis, server truyền bao nhiêu byte cho client? từ đó bạn có thể get số byte đó để tạo 1 ngắt reconnect là ok thôi.
    cái bạn nói đó là tcp đó

    Leave a comment:


  • nguyenvanvui
    replied
    chẳng qua sample code hiện tại chỉ cho truyền 1 lần rồi bạn làm biếng ko chịu sửa rồi đổ lỗi cho tcp chứ mình làm chạy ngon lành chứ có vấn đề j đâu,bạn phải biết 1 frame của tcp truyền xuống bao nhiêu byte?bao nhiêu header byte?bao nhiêu data byte?khi connect hay dis, server truyền bao nhiêu byte cho client? từ đó bạn có thể get số byte đó để tạo 1 ngắt reconnect là ok thôi.

    Leave a comment:


  • shindo216
    replied
    Nguyên văn bởi nguyenvanvui Xem bài viết
    ko thể làm theo kiểu này được, fai chủ động connect/dis như khi dùng hyper terminal qua com vậy
    cái này lập trình cho ARM làm server nên khi việc disconnect và connect là do phía client yêu cầu server theo quy tắc 3 bước bắt tay , và cái đó là do lớp tcp trong file tcp.c quản lý chứ code mình đưa lên trên có nói gì về tcp đâu và chỉ khắc phục việc truyền 1 lần của sample code thui
    Last edited by shindo216; 01-06-2012, 10:04.

    Leave a comment:


  • nguyenvanvui
    replied
    Nguyên văn bởi shindo216 Xem bài viết
    while (1) // repeat forever
    {
    if (!(SocketStatus & SOCK_ACTIVE)) TCPPassiveOpen(); // listen for incoming TCP-connection
    DoNetworkStuff(); // handle network and easyWEB-stack

    if (SocketStatus & SOCK_DATA_AVAILABLE) // check if remote TCP sent data
    {
    // your code here

    }
    ban nên lay phan nay thui la se truyen duoc lien tuc, ko díconnect, như khi may tính disconnect thì phải reset ARM lại
    ko thể làm theo kiểu này được, fai chủ động connect/dis như khi dùng hyper terminal qua com vậy

    Leave a comment:


  • shindo216
    replied
    while (1) // repeat forever
    {
    if (!(SocketStatus & SOCK_ACTIVE)) TCPPassiveOpen(); // listen for incoming TCP-connection
    DoNetworkStuff(); // handle network and easyWEB-stack

    if (SocketStatus & SOCK_DATA_AVAILABLE) // check if remote TCP sent data
    {
    // your code here

    }
    ban nên lay phan nay thui la se truyen duoc lien tuc, ko díconnect, như khi may tính disconnect thì phải reset ARM lại

    Leave a comment:


  • shindo216
    replied
    code viết EMAC giong những gì trình bày ở đây , code của EMAC là gửi file html nên khi gửi xong nó sẽ đóng và disconnect , web browser thì moi lần sẽ phản hổi và ra lệnh connect lại , bạn nên đọc file easy web chỗ hàm httpserver

    Leave a comment:


  • itx
    replied
    Nguyên văn bởi asdfgh Xem bài viết
    Thanks ban nguyenvanvui đã hướng dẫn. Tuy nhiên vì mình và một số bạn chưa hiểu nhiều về giao thức TCP/IP stack nên xem và sửa code simple chưa biết sửa thế nào. bọn mình biết được bug này là do bi disconnect nên mới hỏi bạn. bạn chỉ trả lời là đặt biến reconnect. Bọn mình không mong có code ăn sẵn nhưng khó khăn mới hỏi. không trước thì sau bọn mình sẽ tìm ra. Mình thấy bạn có hơi miệt thị thì phải. Chẳng nhẽ cả nhà không ai biết ngoài nguyevanvui

    Thanks!
    Đồng chí nguyevanvui đã trả lời đầy đủ rồi. Vấn đề ở đây là người được trả lời không có đủ kiến thức để hiểu và vận dụng. Đọc post của em chỉ biết nói rằng em nên củng cố lại kiến thức cơ bản của mình. Học bò rồi hẵng lo học chạy, không đốt cháy giai đoạn được đâu.

    Leave a comment:


  • asdfgh
    replied
    Thanks ban nguyenvanvui đã hướng dẫn. Tuy nhiên vì mình và một số bạn chưa hiểu nhiều về giao thức TCP/IP stack nên xem và sửa code simple chưa biết sửa thế nào. bọn mình biết được bug này là do bi disconnect nên mới hỏi bạn. bạn chỉ trả lời là đặt biến reconnect. Bọn mình không mong có code ăn sẵn nhưng khó khăn mới hỏi. không trước thì sau bọn mình sẽ tìm ra. Mình thấy bạn có hơi miệt thị thì phải. Chẳng nhẽ cả nhà không ai biết ngoài nguyevanvui

    Thanks!

    Leave a comment:


  • tmltml
    replied
    Thanks ban da tra lời.
    không hiểu nổi cách sửa ở trên ( đặt biến reconnect ) --> kiểm tra -->fix.


    Nguyên văn bởi nguyenvanvui Xem bài viết
    lỗi đã được chỉ rõ ở trên ( đặt biến reconnect ) --> kiểm tra -->fix không có chuyện có người dâng code lên cho xơi.

    Leave a comment:


  • nguyenvanvui
    replied
    lỗi đã được chỉ rõ ở trên ( đặt biến reconnect ) --> kiểm tra -->fix không có chuyện có người dâng code lên cho xơi.

    Leave a comment:


  • tmltml
    replied
    mình đả tìm hiệu cả tháng rồi mình cứ tưởng là do lổi của phần cứng.nếu bạn có code thì cho mình xin hoặc là bạn chỉ rỏ sửa đoạn nào ntn?
    sắp báo cáo rồi.
    thank.

    Nguyên văn bởi nguyenvanvui Xem bài viết
    nên tìm hiểu kỹ rồi mới hỏi,không thể sửa code theo kiểu làm lụi.

    Leave a comment:


  • nguyenvanvui
    replied
    nên tìm hiểu kỹ rồi mới hỏi,không thể sửa code theo kiểu làm lụi.

    Leave a comment:


  • tmltml
    replied
    cảm ơn bạn đả trả lời.
    mình đã sửa code nhưng khi chay không cập nhật được chỉ gửi lên được 1 lần
    code mình sửa
    else if (HTTPBytesToSend) // transmit leftover bytes
    {
    memcpy(TCP_TX_BUF, PWebSide, HTTPBytesToSend);
    TCPTxDataCount = HTTPBytesToSend; // bytes to xfer
    InsertDynamicValues(); // exchange some strings...
    TCPTransmitTxBuffer(); // send last segment
    if (!(SocketStatus & SOCK_CONNECTED)) //thêm dòng này
    {
    TCPClose();
    } // and close connection
    HTTPBytesToSend = 0; // all data sent
    }

    mình mới tìm hiểu về giao tiếp internet nên không biết mình sửa có đúng chưa?



    Nguyên văn bởi nguyenvanvui Xem bài viết
    khi TCP đã được khởi tạo sẽ tạo ra 1 socket lúc này trạng thái connect hay disconnect sẽ được lưu vào trạng thái của socket,trong code easyweb thì hàm HTTPServer() sẽ send data lên socket: khi có data (data != 0) thì send sau đó lập tức closeTCP ngay vì vậy mà tcp ko giữ được trạng thái connect, cho nên các bạn mới dùng biến reconnect.

    Leave a comment:


  • nguyenvanvui
    replied
    Nguyên văn bởi tmltml Xem bài viết
    mình đả xem qua code easyweb nhưng mình không biết phải sự dụng hàm nào để phát hiện conect từ TCP và làm sao lấy được header từ tcp frame?
    CLOSED,
    LISTENING,
    SYN_SENT,
    SYN_RECD,
    ESTABLISHED,
    FIN_WAIT_1,
    FIN_WAIT_2,
    CLOSE_WAIT,
    CLOSING,
    LAST_ACK,
    TIME_WAIT
    } TTCPStateMachine;
    bạn có thể chỉ rỏ hơn không?
    thank!
    khi TCP đã được khởi tạo sẽ tạo ra 1 socket lúc này trạng thái connect hay disconnect sẽ được lưu vào trạng thái của socket,trong code easyweb thì hàm HTTPServer() sẽ send data lên socket: khi có data (data != 0) thì send sau đó lập tức closeTCP ngay vì vậy mà tcp ko giữ được trạng thái connect, cho nên các bạn mới dùng biến reconnect.

    Leave a comment:

Về tác giả

Collapse

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

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

Collapse

Đang tải...