MỘT SỐ HÀM CSOCKET doc

5 379 0
MỘT SỐ HÀM CSOCKET doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

1 CÁC HÀM CSOCKET BOOL Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, LPCTSTR lpszSocketAddress = NULL ); - Lệnh này để tạo socket. - nSocketPort: cổng được dùng với Socket; nếu bằng 0 để cho MFC tự chọn port. - nSocketType = SOCK_STREAM hay SOCK_DGRAM. - lpszSocketAddress: địa chỉ mạng của socket được kết nối, vd: 172.29.6.240. - Giá trị trả về: khác 0, nếu thành công, ngoài ra thì bằng 0. BOOL Bind( UINT nSocketPort, LPCTSTR lpszSocketAddress = NULL ); BOOL Bind ( const SOCKADDR* lpSockAddr, int nSockAddrLen ); - Lệnh này để dán địa chỉ cục bộ đến socket. - nSocketPort: cổng xác định ứng dụng socket. - lpszSocketAddress: địa chỉ mạng. - lpSockAddr: trỏ đến cấu trúc SOCKADDR chứa địa chỉ cho socket này. - nSockAddrLen: chiều dài của địa chỉ lpSockAddr được tính theo byte. - Giá trị trả về: khác 0 nếu thành công, ngoài ta = 0. struct sockaddr { unsigned short sa_family; char sa_data[14]; }; - Đây là cấu trúc lưu trữ địa chỉ IP để máy gia nhập vào truyền thông socket windows. Close() 2 - Đây là hàm giải phóng socket. BOOL Connect( LPCTSTR lpszHostAddress, UINT nHostPort ); BOOL Connect( const SOCKADDR* lpSockAddr, int nSockAddrLen ); - Gọi hàm này để thiết lập 1 kết nối đến 1 socket. - lpszHostAddress: địa chỉ mạng của socket mà cần được kết nối đến, có thể là chuỗi số phân cách bởi dấu chấm, vd: 172.29.6.240. - nHostPort: cổng xác định ứng dụng socket. - lpSockAddr: trỏ đến cấu trúc SOCKADDR chứa địa chỉ của socket được kết nối. - nSockAddrLen: chiều dài của địa chỉ trong lpSockAddr được tính theo byte. - Giá trị trả về: khác 0 nếu thành công, thất bại = 0. BOOL Listen( int nConnectionBacklog = 5 ); - Gọi hàm này để lắng nghe các yêu cầu kết nối. - Hàm này chỉ hỗ trợ cho socket dạng SOCK_STREAM. - nConnectionBacklog: chiều dài tối đa mà hàng đợi kết nối chưa được chấp nhận có thể tăng. Phạm vi là từ 1 đến 5. - Giá trị trả về: khác 0 = thành công, bằng 0 = thấ bại. virtual BOOL Accept( CAsyncSocket& rConnectedSocket, SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL ); - Gọi hàm này để chấp nhận 1 kết nối trên socket. - Socket mới cho kết nối 3 - lpSockAddr trỏ đến cấu trúc SOCKADDR nhận địa chỉ mạng của socket kết nối (trên client). - Nếu lpSockAddr hay lpSockAddrLen lấy giá trị mặc định NULL thì sẽ không có thông tin từ socket (trên client) được chấp nhận được trả về. - lpSockAddrlen chứa chiều dài thực sự của lpSockAddr khi trả về theo byte. - Giá trị trả về: khác 0 nếu thành công và bằng 0 nếu thất bại. virtual int Receive( void* lpBuf, int nBufLen, int nFlags = 0 ); - Hàm nhận dữ liệu từ socket được kết nối. - lpBuf: vùng đệm chứa dữ liệu. - nBuffLen: chiều dài của vùng đệm tính theo byte. - nFlag: cách nhận dữ liệu, sử dụng giá trị mặc định là 0. - Giá trị trả về là số byte nhận được, nếu socket đóng thì giá trị trả về là 0, ngoài ra giá trị sẽ trả về là SOCKET_ERROR. virtual int Send( const void* lpBuf, int nBufLen, int nFlags = 0 ); - Hàm gửi dữ liệu đến socket được kết nối. - lpBuf: vùng đệm chứa dữ liệu để truyền đi. - nBufLen: chiều dài vùng đệm. - nFlag: cách truyền dữ liệu, sử dụng giá trị mặc định là 0. - Giá trị trả về là số ky tự được gửi, nếu thất bại giá trị trả về là SOCKET_ERROR. int ReceiveFrom( void* lpBuf, int nBufLen, CString& rSocketAddress, UINT& rSocketPort, int nFlags = 0 ); 4 int ReceiveFrom( void* lpBuf, int nBufLen, SOCKADDR* lpSockAddr, int* lpSockAddrLen, int nFlags = 0 ); - Hàm nhận 1 datagram và lưu địa chỉ trong rSocketAddress hay trong cấu trúc SOCKADDR từ 1 nguồn cụ thể. - lbBuf: vùng đệm chứa dữ liệu nhận được. - rSocketAddress: tham chiếu đến đối tượng CString nhận địa chỉ IP. - rSocketPort: trỏ đến 1 biến UINT chứa port. - lpSockAddr: trỏ đến cấu trúc chứa địa chỉ nguồn. - lpSockAddrLen: chứa chiều dài của địa chỉ nguồn lưu trong lpSockAddr. - nFlag: cụ thể cách gọi. - Giá trị trả về là số byte nhận được, = 0 nếu socket bị đóng, = SOCKET_ERROR nếu có lỗi. 5 int SendTo( const void* lpBuf, int nBufLen, UINT nHostPort, LPCTSTR lpszHostAddress = NULL, int nFlags = 0 ); int SendTo( const void* lpBuf, int nBufLen, const SOCKADDR* lpSockAddr, int nSockAddrLen, int nFlags = 0 ); - Hàm gửi dữ liệu đến đích cụ thể. - lpBuf: vùng đệm chứa dữ liệu để truyền. - nBufferLen: chiều dài của dữ liệu trong vùng đệm tính theo byte. - nHostPort: port ứng dụng. - lpszHostAddress: địa chỉ của máy được kết nối, vd:172.29.6.240. - lpSockAddr: trỏ đến cấu trúc chứa địa chỉ của socket đích. - lpSockAddrLen: chiều dài của địa chỉ lưu trong lpSockAddr tính theo byte. - Trả về số k y tự được gửi, ngoài ra trả về SOCKET_ERROR khi có lỗi. BOOL ShutDown( int nHow = sends ); - Hàm làm vô hiệu hóa send, receive hay cả hai. - nHow = 0: disable receive; nHow = 1: disable send; How = 2: disable both - Trả về giá trị khác 0 nếu thành công, và trả về 0 nếu lời gọi hàm thất bại. . 1 CÁC HÀM CSOCKET BOOL Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, LPCTSTR lpszSocketAddress. 2 - Đây là hàm giải phóng socket. BOOL Connect( LPCTSTR lpszHostAddress, UINT nHostPort ); BOOL Connect( const SOCKADDR* lpSockAddr, int nSockAddrLen ); - Gọi hàm này để thiết. công, thất bại = 0. BOOL Listen( int nConnectionBacklog = 5 ); - Gọi hàm này để lắng nghe các yêu cầu kết nối. - Hàm này chỉ hỗ trợ cho socket dạng SOCK_STREAM. - nConnectionBacklog: chiều

Ngày đăng: 02/08/2014, 13:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan