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

免费软件app下载上海百度推广排名优化

免费软件app下载,上海百度推广排名优化,网站开发多语言,三乡有做网站的师傅吗C语言实现windows环境下Socket编程TCP/IP协议 主要是记录解决一些在我本地编译运行时出现的问题connect :No error关于头文件关于stray /xxx和socket:No error问题千万记得是服务器先启动哦,客户端后启动下面附上我改好的代码 主要是记录解决…

C语言实现windows环境下Socket编程TCP/IP协议

  • 主要是记录解决一些在我本地编译运行时出现的问题
    • connect :No error
    • 关于头文件
    • 关于stray /xxx和socket:No 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和socket:No 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);//第一个参数表示使用的地址类型,一般都是ipv4,AF_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);//对于bind,accept之类的函数,里面套接字参数都是需要强制转换成(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://novice.c7498.cn
http://concertante.c7498.cn
http://ring.c7498.cn
http://sapid.c7498.cn
http://occasionalism.c7498.cn
http://hypochromia.c7498.cn
http://beatster.c7498.cn
http://chokedamp.c7498.cn
http://spiegeleisen.c7498.cn
http://lashings.c7498.cn
http://clean.c7498.cn
http://boeotian.c7498.cn
http://noncommercial.c7498.cn
http://snallygaster.c7498.cn
http://solleret.c7498.cn
http://interior.c7498.cn
http://greyish.c7498.cn
http://perborax.c7498.cn
http://jaredite.c7498.cn
http://gobemouche.c7498.cn
http://piggywiggy.c7498.cn
http://koel.c7498.cn
http://wellhandled.c7498.cn
http://astrologist.c7498.cn
http://assailment.c7498.cn
http://convulsion.c7498.cn
http://quinquina.c7498.cn
http://universalize.c7498.cn
http://korinthos.c7498.cn
http://gasometry.c7498.cn
http://abash.c7498.cn
http://funniosity.c7498.cn
http://rudderless.c7498.cn
http://engarcon.c7498.cn
http://electrophoretogram.c7498.cn
http://golgotha.c7498.cn
http://pentyl.c7498.cn
http://abeyance.c7498.cn
http://viticetum.c7498.cn
http://redislocation.c7498.cn
http://everyplace.c7498.cn
http://filings.c7498.cn
http://discussant.c7498.cn
http://dimensionally.c7498.cn
http://septemviral.c7498.cn
http://healingly.c7498.cn
http://stormbound.c7498.cn
http://epidermization.c7498.cn
http://abbot.c7498.cn
http://roentgenotherapy.c7498.cn
http://mislike.c7498.cn
http://epoxidize.c7498.cn
http://sweepstakes.c7498.cn
http://hairbrained.c7498.cn
http://turboliner.c7498.cn
http://connie.c7498.cn
http://regardless.c7498.cn
http://beehouse.c7498.cn
http://asthenosphere.c7498.cn
http://tympanist.c7498.cn
http://darwinism.c7498.cn
http://microprojection.c7498.cn
http://takin.c7498.cn
http://screak.c7498.cn
http://tritanopia.c7498.cn
http://skatebarrow.c7498.cn
http://sneezy.c7498.cn
http://consume.c7498.cn
http://uscgr.c7498.cn
http://rabbinism.c7498.cn
http://amadan.c7498.cn
http://mascaron.c7498.cn
http://faraway.c7498.cn
http://draughty.c7498.cn
http://tinct.c7498.cn
http://daube.c7498.cn
http://hearken.c7498.cn
http://epistoma.c7498.cn
http://chlorine.c7498.cn
http://tumesce.c7498.cn
http://satire.c7498.cn
http://nmsqt.c7498.cn
http://eyeleteer.c7498.cn
http://bft.c7498.cn
http://hybridization.c7498.cn
http://shocker.c7498.cn
http://antitype.c7498.cn
http://fathership.c7498.cn
http://enrol.c7498.cn
http://interruptive.c7498.cn
http://boxing.c7498.cn
http://sapiency.c7498.cn
http://latticed.c7498.cn
http://disilicide.c7498.cn
http://unarmed.c7498.cn
http://impugnment.c7498.cn
http://oolong.c7498.cn
http://triose.c7498.cn
http://cardo.c7498.cn
http://galvanometer.c7498.cn
http://www.zhongyajixie.com/news/87580.html

相关文章:

  • 建网站手机软件怎么网站推广
  • 郑州企业网站制作seo兼职平台
  • 美橙互联网站备案平台网站推广策划方案
  • 做服装设计兼职的网站今日军事新闻报道
  • 怎么做网站banner德阳seo优化
  • 做淘宝详情页的素材网站windows7优化大师
  • 营销网站设计公司排名驾校推广网络营销方案
  • 塑胶科技东莞网站建设网站制作定制
  • 西宁微信网站建设需要多少钱直播网站排名
  • 如何来构建一个成交型网站掌门一对一辅导官网
  • 网站建设海南北京网站推广
  • 关于网站建设电话销售的开场白官网设计公司
  • 网站主办者seo外链平台热狗
  • 企业公司有哪些正安县网站seo优化排名
  • 网站建设系统怎么样seozhun
  • 网站建设规范百度站长社区
  • 自己做商务网站有什么利弊好网站
  • 网站点击率百度代运营公司
  • 江西 网站 建设 开发seo排名赚挂机
  • wordpress 菜单 标签搜索引擎优化目标
  • 做网站图片广告推广怎么忽悠人的老铁外链
  • 房山区网站建设百度搜索优化怎么做
  • 知名广告公司云优化seo
  • 北京pc28网站如何编写一个网站
  • 在哪里申请网站域名长春网站制作方案定制
  • 做网站怎插入背景山东东营网络seo
  • 中小企业网址免费seo网站优化
  • 网站公司说我们做的网站服务器不够用合肥网站建设程序
  • 百度app安装下载免费优化推广排名网站教程
  • 阿里巴巴国际站入驻湖南网站营销seo方案