在 Ubuntu 的环境上进行编译运行,先要安装 libevent 的库,然后将生成的 软件上传到 阿里云上面,
在阿里云的管理后台打开相应的端口,在客户端使用 网络调试助手 发送数据,成功回显
代码如下:
#include#include #include #include void CliReadCb(struct bufferevent *bev,void *arg) { //将接受到的消息发回去 char buf[1024]; int len; len=bufferevent_read(bev,buf,sizeof(buf)); bufferevent_write(bev,buf,len); } void CliWriteCb(struct bufferevent *bev,void *arg) { } void CliEventCb(struct bufferevent *bev,short int events,void *arg) { printf("link Event %Xn",events); if(events&(BEV_EVENT_EOF|BEV_EVENT_ERROR)) { bufferevent_free(bev); } } void cb_listener(struct evconnlistener *listener, evutil_socket_t fd, struct sockaddr *addr, int len, void *ptr) { printf("New Clientn"); struct bufferevent *bev; bev=bufferevent_socket_new(evconnlistener_get_base(listener),fd,BEV_OPT_CLOSE_ON_FREE); bufferevent_setcb(bev,CliReadCb,CliWriteCb,CliEventCb,bev); bufferevent_enable(bev,EV_READ); } int main() { struct event_base *base=event_base_new(); struct sockaddr_in serverAddr; struct evconnlistener* listener; serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(9000); serverAddr.sin_addr.s_addr = inet_addr("0.0.0.0"); listener = evconnlistener_new_bind(base, cb_listener, base, LEV_OPT_CLOSE_ON_FREE|LEV_OPT_REUSEABLE, 36, (struct sockaddr*)&serverAddr, sizeof(serverAddr)); printf("Tcp Server is running!n"); event_base_dispatch(base); evconnlistener_free(listener); event_base_free(base); return (0); }



