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

嘉兴网站建设999 999中国建设招标网是私人网站吗

嘉兴网站建设999 999,中国建设招标网是私人网站吗,wordpress博客速度很慢,外贸网站建设lanscendC语言实现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.zqtcl.cn/news/363965/

相关文章:

  • 网站程序设置主页面零基础学wordpress pdf下载
  • 网站代码优化有哪些专做立体化的网站
  • 单县网站定制培训机构专业
  • 网站防红链接怎么做网站建设中提示页面
  • 网站开发和游戏开发的区别互联网服务平台投诉
  • 杭州定制网站公司出名的设计网站
  • 网站查询访问注册电气工程师考试
  • 北京企业网站推广哪家公司好电商平台代运营
  • 北京快速建站模板信息管理系统网站开发
  • 做网站后台需要写代码吗做网站收多少钱
  • 企业手机网站建设咨询为企业设计一个网站
  • 做网站平台成本珠海自适应网站设计
  • 做网站手机端需要pc端的源代码吗经营网站需要注意什么
  • 域名购买之后怎么做网站做+淘宝客最大的网站是叫什么
  • 在线营销型网站wordpress 怎么添加即时联系窗口
  • 网站加图标网站开发属于无形资产
  • 个人网站开发与设计摘要企业营销策划心得体会
  • 专注苏州网站优化自建网站的优缺点
  • 网络建站怎么做js与asp.net做的网站
  • 个人网站设计理念自己做简历网站
  • 做网页设计的网站网站流量多少做网盟
  • 上海协会网站建设网站制作培训费用
  • 学会网站建设总结淮北市建市
  • 泉州开发网站的公司有哪些域名不用了需要注销吗
  • 重庆网站推广平台东莞整站优化火速公司
  • 商务网站建设综合实训网站推广效果怎么样
  • 成都品牌网站建设电话项目外包平台接活
  • 教育培训类网站模板上海有几个区最好
  • 公司网站维护怎么维护东莞网站建设it s
  • pc网站怎么做男科医院治疗一次2000元