linux C++ 用SOCKET封装HTTP协议的方法有吗

linux C++ 用SOCKET封装HTTP协议的方法有吗,第1张

#include <unistd.h>

#include <sys/types.h>

#include <sys/socket.h>

class SocClient {

public:

SocClient()

~SocClient()

public:

int OpenSocket(int domain, int type, int protocol)

int BindSocket(const struct sockaddr *addr, socklen_t addrlen)

int ListenSocket(int backlog)

int ConnectSocket(const struct sockaddr *addr, socklen_t addrlen)

ssize_t Send(const void *buf, size_t len, int flags)

ssize_t Recv(void *buf, size_t len, int flags)

ssize_t Sendto(const void *buf, size_t len, int flags,

const struct sockaddr *dest_addr, socklen_t addrlen)

ssize_t Recvfrom(void *buf, size_t len, int flags,

struct sockaddr *src_addr, socklen_t *addrlen)

ssize_t Sendmsg(const struct msghdr *msg, int flags)

ssize_t Recvmsg(struct msghdr *msg, int flags)

protected:

//protected code here

private:

int fd//socket fd

}

SocClient::SocClient()

:fd(0)

{

}

SocClient::~SocClient()

{

if(fd)

close(fd)

}

int SocClient::OpenSocket(int domain, int type, int protocol)

{

//call system socket function

fd = socket(domain, type, protocol)

}

int SocClient::BindSocket(const struct sockaddr *addr, socklen_t addrlen)

{

return bind(fd, addr, addrlen)

}

剩下的自己实现。

1、安装ftp服务端,方便你从客户端上传文件。linux上一般安装vsftp.VSFTP的软件安装包是: vsftpd-2.2.2-12.el6_5.1.i686.rpm

查询:#rpm -q vsftpd

安装:#rpm -ivh vsftpd-2.2.2-12.el6_5.1.i686.rpm或者直接yum install vsftpd

启动、停止及重启VSFTP的命令: #service vsftpd start/stop/restart

配置文件:

/etc/vsftpd/vsftpd.conf //主配置文件

/etc/vsftpd.ftpusers //被禁止登录FTP的用户文件

/etc/vsftpd.user_list //允许登录FTP的用户文件

a、将登录后的用户限制在本地家目录下:

#vi /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

新建受限用户的列表文件并加入受限用户名

#vi /etc/vsftpd.chroot_list

raykeso

重启ftp服务

#service vsftpd restart

2、安装apache,开启目录索引,这样你就可以浏览和下载文件。

apache配置文件

<Directory "I:/build/dist">#设置浏览文件的目录

Options Indexes #开启目录列表索引模式Order allow,deny

Allow from all

</Directory>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7266007.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存