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

网站建设与开发的论文崇信门户网站留言回复

网站建设与开发的论文,崇信门户网站留言回复,哪里有手机网站制作公司,做网站 需要买云服务器吗1--基于TCP实现字符串对话 主要需求#xff1a; 服务器端和客户端各传递 1 次字符串#xff0c;基于 TCP 协议#xff0c;传递字符串前先以 4 字节整数型方式传递字符串长度#xff0c;剩余部分为字符串数据#xff1b; 注#xff1a;下面的代码基于 Windows 系统实现         服务器端和客户端各传递 1 次字符串基于 TCP 协议传递字符串前先以 4 字节整数型方式传递字符串长度剩余部分为字符串数据 注下面的代码基于 Windows 系统实现 1-1--服务器端 // gcc string_server_win.c -o string_server_win -lwsock32 // string_server_win 9190#include stdio.h #include stdlib.h #include string.h #include winsock2.h#define BUF_SIZE 1024 #define Len_SIZE 4void ErrorHandling(char *message){fputs(message, stderr);fputc(\n, stderr);exit(1); }int main(int argc, char *argv[]){if (argc ! 2) {printf(Usage: %s port\n, argv[0]);exit(1);}WSADATA wsaData; // init Socket libif(WSAStartup(MAKEWORD(2, 2), wsaData) ! 0){ ErrorHandling(WSAStartup() error!);}int Serv_sock socket(PF_INET, SOCK_STREAM, 0); // create socketif (Serv_sock -1) {ErrorHandling(socket() error);}struct sockaddr_in serv_addr; // allocate ip, portmemset(serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family AF_INET;serv_addr.sin_addr.s_addr htonl(INADDR_ANY);serv_addr.sin_port htons(atoi(argv[1]));if (bind(Serv_sock, (struct sockaddr*) serv_addr, sizeof(serv_addr)) -1){ ErrorHandling(bind() error);}if (listen(Serv_sock, 5) -1) { // readyErrorHandling(listen() error);}struct sockaddr_in clnt_addr;int clnt_addr_size sizeof(clnt_addr);for (int i 0; i 5; i) {int Clnt_sock accept(Serv_sock, (struct sockaddr*) clnt_addr, clnt_addr_size); // acceptif (Clnt_sock -1){ErrorHandling(accept() error);}else{printf(Connected client %d \n, i1);}while(1) {int over 0, recv_len 0, msg_len, recv_cnt;char msg[BUF_SIZE];while (recv_len 0 || recv_len msg_len Len_SIZE) {recv_cnt recv(Clnt_sock, (char*)msg[recv_len], BUF_SIZE, 0);if (recv_cnt -1) {ErrorHandling(read() error!);}if (recv_cnt 0) {over 1;break;}recv_len recv_cnt;if (recv_len Len_SIZE) {memcpy(msg_len, msg, Len_SIZE);}}msg[recv_len] \0;if (over 1) {break;}printf(Message from client: %s, msg Len_SIZE); // output message from clientfputs(Input message: , stdout);fgets(msg Len_SIZE, BUF_SIZE - Len_SIZE, stdin); // input messageint len strlen(msg Len_SIZE);memcpy(msg, len, Len_SIZE);send(Clnt_sock, msg, Len_SIZE len, 0); // send message to client}closesocket(Clnt_sock);}closesocket(Serv_sock);return 0; }1-2--客户端 // gcc string_client_win.c -o string_client_win -lwsock32 // string_client_win 127.0.0.1 9190#include stdio.h #include stdlib.h #include string.h #include winsock2.h#define BUF_SIZE 1024 #define Len_SIZE 4void ErrorHandling(char *message){fputs(message, stderr);fputc(\n, stderr);exit(1); }int main(int argc, char* argv[]){if (argc ! 3) {printf(Usage: %s IP port\n, argv[0]);exit(1);}WSADATA wsaData; // init socket libif(WSAStartup(MAKEWORD(2, 2), wsaData) ! 0){ErrorHandling(WSAStartup() error!);}int sock socket(PF_INET, SOCK_STREAM, 0); // create socketif (sock -1)ErrorHandling(socket() error);struct sockaddr_in serv_addr; // allocate ip, portmemset(serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family AF_INET;serv_addr.sin_addr.s_addr inet_addr(argv[1]);serv_addr.sin_port htons(atoi(argv[2]));if (connect(sock, (struct sockaddr*) serv_addr, sizeof(serv_addr)) -1){ // connectErrorHandling(connect() error);}else {puts(Connected);}for(int i 0; i 3; i) {char msg[BUF_SIZE];memset(msg, 0, BUF_SIZE);fputs(Input message: , stdout);fgets(msg Len_SIZE, BUF_SIZE - Len_SIZE, stdin); // input messageint len strlen(msg Len_SIZE);memcpy(msg, len, Len_SIZE);send(sock, msg, Len_SIZE len, 0); // send message to serverint recv_len 0, msg_len 0, recv_cnt 0;while (recv_len 0 || recv_len msg_len Len_SIZE) {recv_cnt recv(sock, (char*)msg, BUF_SIZE, 0);recv_len recv_cnt;if (recv_len Len_SIZE) {memcpy(msg_len, msg, Len_SIZE);}}msg[recv_len] \0;printf(Message from server: %s, msg Len_SIZE);}closesocket(sock);return 0; }1-3--编译运行 # 服务器端 gcc string_server_win.c -o string_server_win -lwsock32 string_server_win 9190# 客户端 gcc string_client_win.c -o string_client_win -lwsock32 string_client_win 127.0.0.1 9190 1-4--基于 linux 实现 项目链接Chapter5 2--基于TCP实现文件传输
http://www.pierceye.com/news/352100/

相关文章:

  • 溧阳网站建设哪家好网站建设的教程
  • 360怎么做网站做pop网站
  • 网站建设方案书2000字中国正国级名单
  • 企业网站的布局类型网站移动页面怎么做的
  • 人是用什么做的视频网站吗wordpress如何设水印图片
  • 蛋糕店的网站建设咋写深圳市宝安区邮政编码
  • 东莞横沥网站建设杭州网站制作排名
  • 百合怎么做网站网站开发语
  • 网站搭建哪里找最好天津市建设工程信息网站
  • 有免费注册网站吗做教育网站还挣钱吗
  • 网站做百度推广需要哪些条件店铺推广软文范例
  • 台州企业网站搭建特点迅美网站建设
  • 做营销网站推广官方网站建设方法
  • 网页设计精选网站网站查询功能怎么做
  • 重庆专业网站推广流程建立平台的步骤
  • 舟山市普陀区建设局网站net网站开发 兼职
  • 网站备案流程阿里云南宁网站建设官网
  • h5网站制作介绍简单的静态 新闻 asp 网站源码
  • 济南seo网站推广公司帮别人做彩票网站吗
  • 郑州市网站建设怎么样wordpress wp editor
  • 台州网站建设 推广公司网络营销课程总结范文
  • 网站 外包 版权杭州做官网的有哪些公司
  • 微信网站html5中山平面设计公司
  • 建站网站教程视频世界网站排名
  • 做小程序的流程seo 整站优化
  • 网站前台代码国内网站主机
  • 网站后台asp源码高明顺德网站建设
  • 网站建设推广软文网络规划设计师考试全程指导(第2版) pdf
  • 备案网站多少钱支持wordpress的空间
  • 哈尔滨网页模板建站wordpress网页设定