Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Kiểu Dữ Liệu Tương đương giữa 2 ngôn ngữ VB và C++

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Wink Kiểu Dữ Liệu Tương đương giữa 2 ngôn ngữ VB và C++

    Em có xem qua bài viết ở đây

    với hàm bên dưới em không hiểu cái biến Sock có kiểu dữ liệu gì vậy( trong VB) ???
    Mặc dù tác giả đã nói
    Sau đó về lại Form1, gắn vào đó 1 đối tượng winsock, đặt tên gì cũng được (trong bài này đặt là Sock)
    Cũng cần nói sơ qua về quá trình đăng nhập, gởi nhận tin nhắn trên cơ sở Y! Protocol
    Mặc dù em có down source về nhưng không thấy Biến Sock đó được khai báo ở đâu cả
    Code:
    Public Function SendPacket(lngCommand As Long, strStatus As String, strData As String) 'send a packet
       
        If Sock.State <> sckConnected Then Exit Function
        Sock.SendData "YMSG" & _
        ChrH("00 0D 00 00") & _
        Word(Len(strData)) & Word(lngCommand) & _
        strStatus & strSessionID & _
        strData
    End Function

    cho em hỏi là biến Sock đó nếu chuyển sang C++ thì sẽ là kiểu dữ liệu gì ???
    Đã được chỉnh sửa lần cuối bởi Cpro : 04-04-2009 lúc 11:12 PM.

  2. #2
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    sock bên VC hơi khác với sock bên VB 1 chút . Để định nghĩa 1 socket bên VC bạn có thể làm như sau:
    C++ Code:
    1. SOCKET MySock
    Sau đó là khởi tạo
    C++ Code:
    1. MySock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    Trên đây chỉ là ví dụ thôi
    Bên VB thì bạn có thể dùng Sock.SendData nhưng bên VC thì ko đc mà bạn phải dùng các hàm API để làm việc với socket ví dụ hàm gửi thông tin đi:
    C++ Code:
    1. send(/*tham số*/);
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

  3. #3
    Ngày gia nhập
    12 2008
    Bài viết
    13

    sock đó là 1 control nho nhỏ, nằm ở trên form. em chưa có điều kiện dơn src về xem thử, nhưng nếu trên form anh ko thấy, anh hãy thử kéo rộng form ra xem có ko. hoặc nếu kốc nữa thì có lẽ có 1 khả năng duy nhất: anh xài vb portable nên ko thấy đc cái control này :P

  4. #4
    Ngày gia nhập
    12 2008
    Bài viết
    198

    sock bên VC hơi khác với sock bên VB 1 chút . Để định nghĩa 1 socket bên VC bạn có thể làm như sau:
    em có thử lên MSDN xem qua kiểu dữ liệu SOCKET thấy có class
    http://msdn.microsoft.com/en-us/libr...8e(VS.80).aspx

    và trong class đó có hàm Send nhưng không rõ có phải hàm tương đương với bên VB hay không,thêm nữa,cái hàm State của VB thì bên VC không thấy có
    Call this member function to send data on a connected socket.


    virtual int Send(
    const void* lpBuf,
    int nBufLen,
    int nFlags = 0
    );

  5. #5
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    À, đây là MFC rồi, mình đang nói về WinAPI cơ, còn cái hàm Send trong MFC thì các tham số của nó có ý nghĩa như sau:
    Code:
    virtual int Send(const void* lpBuf,int nBufLen,int nFlags = 0);
    Trong đó:
    lpBuf: con trỏ đến chuỗi cần gửi
    nBufLen: Độ dài của chuỗi cần gửi
    nFlags: Có thể là MSG_DONTROUTE hoặc MSG_OOB nhưng mặc định cứ để nó là 0 đi
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Mặc định Kiểu Dữ Liệu Tương đương giữa 2 ngôn ngữ VB và C++

    vậy hàm State của VB thì trên VC++ nó là gì thía

  7. #7
    Ngày gia nhập
    10 2008
    Nơi ở
    Quảng Trị
    Bài viết
    369

    Hình như bên VB thì State chỉ là 1 biến của Winsock Control để kiểm tra xem Winsock đã kết nối chưa thì phải. Bên VC thì bạn cũng có thể kiểm tra xem nó đã kết nối chưa hay ngắt kết nối rồi nhưng đầu tiên thì hãy đọc cái này đã: http://forums.congdongcviet.com/show...hlight=winsock
    Born to walk against the wind... Born to hear my name...
    Stand and fight... Live by your heart...
    Always one more try... I'm not afraid to die...
    Stand and fight... say what you feel...
    Born with a heart of steel ...

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn