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

公司网站建设需要咨询什么问题设计网站有哪些

公司网站建设需要咨询什么问题,设计网站有哪些,汇算清缴在哪个网站做,中国排名第一的策划公司C语言实现windows环境下Socket编程TCP/IP协议 主要是记录解决一些在我本地编译运行时出现的问题connect #xff1a;No error关于头文件关于stray /xxx和socket#xff1a;No error问题千万记得是服务器先启动哦#xff0c;客户端后启动下面附上我改好的代码 主要是记录解决… C语言实现windows环境下Socket编程TCP/IP协议 主要是记录解决一些在我本地编译运行时出现的问题connect No error关于头文件关于stray /xxx和socketNo error问题千万记得是服务器先启动哦客户端后启动下面附上我改好的代码 主要是记录解决一些在我本地编译运行时出现的问题 代码是别人的问题是我的。顺便记录一下遇见的各种问题和我的解决办法。 connect No error 可能的解决方案 1、服务端和客户端不在一个局域网可以开热点这样就在了。然后ipconfig查看IP地址就ok了。至于怎么查看在不在就ping一下对方就好了。 2、一个局域网下也ping不通看看自己和对方的防火墙有没有关有些时候不关就ping不通。 关于头文件 1、#include sys/types.h、#include sys/socket.h、#include netinet/in.h、#include arpa/inet.h 这几个东西总是找不到后面百度说是因为这是在linux系统下的库在windows就不行在windows里面用下面的头文件替代 #include winsock2.h #pragma comment(lib,“ws2_32.lib”) #include Ws2tcpip.h关于stray /xxx和socketNo error问题 搜集到的问题解释是因为没有初始化socket。 在建立套接字前加以下代码即可 WSADATA wsaData; if(WSAStartup(MAKEWORD(2,2),wsaData)!0){perror(WSADATA失败); }小tip如果直接复制进你的代码还出现报错貌似是格式问题可以尝试手敲上述代码可解决。 千万记得是服务器先启动哦客户端后启动 下面附上我改好的代码 参考博客C语言实现TCP通信 我改的代码 服务端. #include sys/stat.h#include fcntl.h#include errno.h#include winsock2.h #pragma comment(lib,“ws2_32.lib”)#include sys/types.h#include Ws2tcpip.h#include stdio.h#include string.h#include stdlib.h#include unistd.h#define SERVER_PORT 6666/* 监听后一直处于accept阻塞状态 直到有客户端连接 当客户端如数quit后断开与客户端的连接 */int main(){//调用socket函数返回的文件描述符int serverSocket;//声明两个套接字sockaddr_in结构体变量分别表示客户端和服务器struct sockaddr_in server_addr;struct sockaddr_in clientAddr;int addr_len sizeof(clientAddr);int client;char buffer[200];int iDataNum;//socket函数失败返回-1//int socket(int domain, int type, int protocol);//第一个参数表示使用的地址类型一般都是ipv4AF_INET//第二个参数表示套接字类型tcp面向连接的稳定数据传输SOCK_STREAM//第三个参数设置为0WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2),wsaData)!0){perror(WSADATA失败);}if((serverSocket socket(AF_INET, SOCK_STREAM, 0)) 0){perror(socket);return 1;}bzero(server_addr, sizeof(server_addr));//初始化服务器端的套接字并用htons和htonl将端口和地址转成网络字节序server_addr.sin_family AF_INET;server_addr.sin_port htons(SERVER_PORT);//ip可是是本服务器的ip也可以用宏INADDR_ANY代替代表0.0.0.0表明所有地址server_addr.sin_addr.s_addr htonl(INADDR_ANY);//对于bindaccept之类的函数里面套接字参数都是需要强制转换成(struct sockaddr *)//bind三个参数服务器端的套接字的文件描述符if(bind(serverSocket, (struct sockaddr *)server_addr, sizeof(server_addr)) 0){perror(connect);return 1;}//设置服务器上的socket为监听状态if(listen(serverSocket, 5) 0){perror(listen);return 1;}while(1){printf(监听端口: %d\n, SERVER_PORT);//调用accept函数后会进入阻塞状态//accept返回一个套接字的文件描述符这样服务器端便有两个套接字的文件描述符//serverSocket和client。//serverSocket仍然继续在监听状态client则负责接收和发送数据//clientAddr是一个传出参数accept返回时传出客户端的地址和端口号//addr_len是一个传入-传出参数传入的是调用者提供的缓冲区的clientAddr的长度以避免缓冲区溢出。//传出的是客户端地址结构体的实际长度。//出错返回-1client accept(serverSocket, (struct sockaddr*)clientAddr, (socklen_t*)addr_len);if(client 0){perror(accept);continue;}printf(等待消息...\n);//inet_ntoa ip地址转换函数将网络字节序IP转换为点分十进制IP//表达式char *inet_ntoa (struct in_addr);printf(IP is %s\n, inet_ntoa(clientAddr.sin_addr));printf(Port is %d\n, htons(clientAddr.sin_port));while(1){printf(读取消息:);buffer[0] \0;iDataNum recv(client, buffer, 1024, 0);if(iDataNum 0){perror(recv null);continue;}buffer[iDataNum] \0;if(strcmp(buffer, quit) 0)break;printf(%s\n, buffer);printf(发送消息:);scanf(%s, buffer);printf(\n);send(client, buffer, strlen(buffer), 0);if(strcmp(buffer, quit) 0)break;}}close(serverSocket);return 0; } 我改的代码 客户端. #include sys/stat.h#include fcntl.h#include errno.h#include winsock2.h #pragma comment(lib,“ws2_32.lib”)#include sys/types.h#include Ws2tcpip.h#include stdio.h#include string.h#include stdlib.h#include unistd.h#define SERVER_PORT 6666/* 连接到服务器后会不停循环等待输入 输入quit后断开与服务器的连接 */int main(){//客户端只需要一个套接字文件描述符用于和服务器通信WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2),wsaData)!0){perror(WSADATA失败);}int clientSocket;//描述服务器的socketstruct sockaddr_in serverAddr;char sendbuf[200];char recvbuf[200];int iDataNum;if((clientSocket socket(AF_INET, SOCK_STREAM, 0)) 0){perror(socket);return 1;}serverAddr.sin_family AF_INET;serverAddr.sin_port htons(SERVER_PORT);//指定服务器端的ip本地测试127.0.0.1//inet_addr()函数将点分十进制IP转换成网络字节序IPserverAddr.sin_addr.s_addr inet_addr(服务端IP地址);if(connect(clientSocket, (struct sockaddr *)serverAddr, sizeof(serverAddr)) 0){perror(connect);return 1;}printf(连接到主机...\n);while(1){printf(发送消息:);scanf(%s, sendbuf);printf(\n);send(clientSocket, sendbuf, strlen(sendbuf), 0);if(strcmp(sendbuf, quit) 0)break;printf(读取消息:);recvbuf[0] \0;iDataNum recv(clientSocket, recvbuf, 200, 0);recvbuf[iDataNum] \0;printf(%s\n, recvbuf);}close(clientSocket);return 0;}
http://www.hkea.cn/news/14429351/

相关文章:

  • 怎么注销网站seo如何推广网站
  • 两个网站如何做端口映射北京市建设教育协会网站查询
  • 网站代码怎么看唐山市建设交易中心官方网站
  • 建设专业网站公司iis做的网站手机怎么访问
  • 网站开发 报价多网站绑定域名
  • 代做毕业设计网站家具设计郑州专业网站优化
  • 设计做的网站哪些好全英文外贸网站建设
  • 个人网站模板代码百度联盟的网站怎么做
  • 黄山网站建设jidela微信分销系统合法吗
  • 自己做壁纸的网站杭州网站建设外包公司
  • 长春网站建设公司排名长沙网
  • 多语言网站系统网站的营销
  • 邢路桥建设总公司网站爱站网为什么不能用了
  • 建设银行个人官方网站那些做环保网站的好处
  • wordpress安装怎么填镇江网站关键词优化
  • 兰州网站建设方法北京网络营销技术培训
  • 佛山网站建设定制模板下载网站源码
  • 如何把网站放在主机上计算机的专业有哪些
  • 自用电脑做网站青海网站建设公司电话
  • 网站建设基本概述德州做网站最好的公司有哪些
  • 课程网站开发开题报告wordpress 只显示文字
  • 网站内容该怎么做备案网站 cdn
  • 阿里云wordpress建站微信小程序开发快速入门
  • 专门做简历的网站企业网络推广搜索排名
  • 电脑公司网站系统源码站群系统破解版
  • 佛山网站优化宜昌网站模板
  • 021新手学做网站企业网站建设排名价格
  • 怎么推广自己的网站做网站网页需要什么技术
  • 长春网站建设方案详细wordpress注册直接显示密码错误
  • 中山专业做网站的公司网站 后台 回车不了