当前位置: 首页 > news >正文

地图销售网站jquery 打开新网站

地图销售网站,jquery 打开新网站,忘记网站备案账号,手机浏览器 网站开发目录 服务器端 代码 客户端 代码解析 服务器端 原理 遇到的阻碍以及解决办法 客户端 原理 遇到的阻碍以及解决办法 运行结果截图 总结 服务器端 代码 #include sys/types.h #include sys/socket.h #include stdio.h #include netinet…目录 服务器端 代码 客户端 代码解析 服务器端 原理 遇到的阻碍以及解决办法 客户端 原理 遇到的阻碍以及解决办法 运行结果截图 总结 服务器端 代码 #include sys/types.h #include sys/socket.h #include stdio.h #include netinet/in.h #include arpa/inet.h #include unistd.h #include string.h #include stdlib.h #include fcntl.h #include sys/shm.h #include iostream #include thread #include list using namespace std; #define PORT 8806 #define IP 127.0.0.1 int msocket; struct sockaddr_in servaddr; socklen_t m_len; listint connList; void addPerson(){while(1){int f_socketaccept(msocket,(struct sockaddr *) servaddr,m_len);connList.push_back(f_socket);cout玩家f_socket:进入房间endl;} } void sendList(int f_socket){for(int i0;iconnList.size()-1;i){char buf_1[1024];memset(buf_1,0,sizeof(buf_1));sprintf(buf_1,玩家%d(在线)\n,i3);send(f_socket,buf_1,sizeof(buf_1),0);} } void recv_meg(){struct timeval tv;tv.tv_sec0;tv.tv_usec0;listint::iterator it;while(true){for(itconnList.begin();it!connList.end();it){fd_set rds;FD_ZERO(rds);int max_fd0;int reval0;FD_SET(*it,rds);if(*itmax_fd){max_fd*it;}revalselect(max_fd1,rds,NULL,NULL,tv);if(reval-1){couterrorendl;}else if(reval0){//pass}else{char buf[1024];memset(buf,0,sizeof(buf));int len_1recv(*it,buf,sizeof(buf),0);if(len_10){if(buf[0]#){sendList(*it);}cout收到*it玩家的消息:;coutbufendl;}}}}} int main(){msocketsocket(AF_INET,SOCK_STREAM,0);memset(servaddr,0,sizeof(servaddr));servaddr.sin_familyAF_INET;servaddr.sin_addr.s_addrhtonl(INADDR_ANY);servaddr.sin_porthtons(PORT);if(bind(msocket,(struct sockaddr*) servaddr,sizeof(servaddr))-1){perror(bind);exit(1);}if(listen(msocket,20)-1){perror(listen);exit(1);}m_lensizeof(servaddr);thread thr_1(recv_meg);thr_1.detach();thread th_2(addPerson);th_2.detach();while(1){}return 0; } 客户端 #include iostream #include sys/socket.h #include stdio.h #include sys/time.h #include netinet/in.h #include arpa/inet.h #include cstring using namespace std; #define PORT 8806 int main(){int socket_1;fd_set rds;FD_ZERO(rds);struct timeval tv;socket_1socket(AF_INET,SOCK_STREAM,0);struct sockaddr_in servaddr;servaddr.sin_familyAF_INET;servaddr.sin_porthtons(PORT);servaddr.sin_addr.s_addrinet_addr(127.0.0.1);if(connect(socket_1,(struct sockaddr*)servaddr,sizeof(servaddr))0){perror(connect);exit(1);}while(1){tv.tv_sec10;tv.tv_usec0;FD_ZERO(rds);FD_SET(0,rds);FD_SET(socket_1,rds);int max_fd0;int reval0;if(max_fdsocket_1){max_fdsocket_1;}revalselect(max_fd1,rds,NULL,NULL,tv);if(reval-1){couterror!endl;}else if(reval0){//pass}else{if(FD_ISSET(socket_1,rds)){char buf_2 [1024];int len_1recv(socket_1,buf_2,sizeof(buf_2,0),0);if(len_10){cout.write(buf_2,len_1);}memset(buf_2,0,sizeof(buf_2));}if(FD_ISSET(0,rds)){char buf_3 [1024];fgets(buf_3,sizeof(buf_3),stdin);send(socket_1,buf_3,sizeof(buf_3),0);memset(buf_3,0,sizeof(buf_3));}}}return 0; } 代码解析 服务器端 原理 创建了一个套接字绑定端口和ip地址 之后创建一个线程用于接收外面的连接请求并且把生成的客户端的套接字存储到connList的链表中 之后用在又创建以线程用select函数来判断是否有客户端进行发送请求如果有判断第一个首字母是否为#如果是那么就放回发送connList链表 遇到的阻碍以及解决办法 发送的数据的时候最好加一个\n因为客户端没有换行所以打印的时候就会怪怪的由于是第一次实战开始那个大小端互相转化把我搞懵了索性本来也就不难干脆就记下来就行了。创建的服务器套接字以及客户端生成的套接字容易搞混用命名把它分开来了。超时时间目前服务器端来看没什么用反而会影响新客户端的连接服务器端会遍历套接字列表如果在等待的时候有新的连接进行请求依旧会继续堵塞因为他一次只能select一个套接字 客户端 原理 客户端就只有一个主函数同样绑定套接字之后用select用来判断是否有输入或者接受请求如果有输入则发送输入字节流如果有接收请求则调用接收函数并且将其打印出来 遇到的阻碍以及解决办法 打印输出的列表用printf函数或者用cout.write(字符串,长度)不要用cout函数会乱码——printf函数根据格式化字符串来输出数据而cout在默认情况下将字符串视为null-terminated字符串即以’\0’结尾。所以如果buf_2中的数据不是以’\0’结尾的cout将会继续输出直到遇到’\0’为止可能造成输出乱码。这里可以设置超时时间因为它只是监听套接字和输入流没有上面服务器端一样的遍历。 运行结果截图 总结 一个基于 C入门教程18socket 实现简单聊天室_std socket_爱我呦呦的博客-CSDN博客文章浏览阅读8.6k次点赞8次收藏88次。本节通过socket实现一个简单的聊天室功能聊天室中如果有人说话则服务器负责将内容传送给聊天室的其他人那么就需要客户端和服务端两个程序客户端负责发送消息服务端负责接收和转发消息客户端代码#include #include #include #include #include #in_std sockethttps://blog.csdn.net/u011416077/article/details/123593428的拓展功能。并且把一些不足之处给指出来了。
http://www.pierceye.com/news/494/

相关文章:

  • 南京做网站的公司排名做房地产信息网怎么做
  • 医院网站建设合同范本公众号开发者中心
  • 有名的淘宝客网站手机设计图纸软件
  • 网站开发公司郑州电信备案网站打不开
  • 西安响应式网站wordpress中英文标题
  • 鹰潭手机网站建设wordpress仿qq空间
  • 网站的icp备案信息是什么百度竞价推广代运营公司
  • 网站美工培训课程免费看行情的软件大全下载
  • 建设银行住房公积金预约网站wordpress 视频主题
  • 做淘宝门头的网站班级介绍网站首页如何做
  • 网站设计网站建设专业我国经济总量
  • 常州外贸网站设计怎么查自己是不是团员
  • 吉林做网站公司长沙网站设计的公司
  • 自学网站搭建wordpress 什么值得买 主题
  • 订阅号可以做微网站吗深圳东莞网站建设
  • 沙河做网站自己做网站麻烦吗
  • 天猫网站建设可行性分析网上做公司网站怎么做
  • 网站后台管理系统域名网站关键词之间
  • 网站制作公司下商业网站有什么作用
  • 电商公司名称怎么起名简述什么是seo及seo的作用
  • 挑号网站后台怎么更新织梦能不能做门户网站
  • 公司网站建设中心重庆seo霸屏
  • 电子产品网站建设模板汕头seo不错
  • 网站响应式与电脑版有什么区别杭州杭州网站建设公司
  • 网站开发与应用 大作业作业长沙专业个人做网站哪家好
  • 可以免费制作网页的网站谷歌浏览器下载手机版安卓官网
  • 婚恋网站翻译可以做吗成都住建局官网怎么查询楼盘剩余房
  • 做网站加模块开发是什么工作
  • 网站首页幻灯片不显示小网站怎么建设
  • 手机网站排版网站建设技术外包