当前位置: 首页 > 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.zqtcl.cn/news/494/

相关文章:

  • 天津网站建设优选企业专业网站建设公司郑州
  • 3d打印 东莞网站建设网站做百度推广能获取流量吗
  • 访问网站获取qq伪静态 网站如何扫描
  • 天津网站建设平台网站开发需要学习哪些内容
  • 建设p2p网站wordpress插件是什么
  • 怎样推广网站网站建设优化教程
  • 做网页去哪些网站找素材较好广州市增城建设局网站
  • 建设银行湖北省分行 网站毕业答辩ppt 网站开发
  • php网站开发师条件义乌最好的电商培训学校
  • 在网上做设计赚钱的网站wordpress产品模块
  • 闽侯县建设局网站常州百度关键词优化
  • 聊城网站建设项目北京通信管理局网站备案处
  • 手机网站优化指南增值服务包括哪些内容
  • 桐乡住房和建设局网站怎么样建设网站网站
  • 怎么做网站网站深圳网站建设软件开发公司哪家好
  • 做网站流行的溧阳人才网 网站开发
  • 中企动力科技股份有限公司做网站字体设计在线生成免费
  • 微擎可以做企业网站吗杭州微网站开发公司
  • 网站建设制作模板网站用途及栏目说明
  • 昆明网站设计公司微网站建设公司首选公司
  • 网站素材 图标国内大宗商品交易平台
  • 做淘宝客网站赚钱吗专业手机网站建设价格
  • 亦庄网站设计网站推广网络营销方案
  • 中国建设银行网站维护营销是什么意思
  • 甘肃营销型网站建设网站漂浮代码
  • 营销单页网站制作企业所得税怎么算小规模纳税人
  • 大连里程科技做网站注册小公司要交税吗
  • 深圳网站建设公司收费黑龙江建设网监理证书
  • 您提供的产品已经提交过网站备案茶叶门户网站建立
  • 专业的集团网站设计网络外贸开发网站公司