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

easyui网站开发实战 pdf漳州那里有做网站

easyui网站开发实战 pdf,漳州那里有做网站,威海高区建设局网站,网站建设咨询公文章目录 理解网络编程和套接字网络编程和套接字概要构建套接字编写 Hello World 服务器端构建请求连接套接字在Linux平台下运行 基于Linux的文件操作打开文件关闭文件将数据写入文件读取文件中的数据 理解网络编程和套接字 网络编程和套接字概要 网络编程就是编写程序使两台… 文章目录 理解网络编程和套接字网络编程和套接字概要构建套接字编写 Hello World 服务器端构建请求连接套接字在Linux平台下运行 基于Linux的文件操作打开文件关闭文件将数据写入文件读取文件中的数据 理解网络编程和套接字 网络编程和套接字概要 网络编程就是编写程序使两台联网的计算机相互交换数据 为了与远程计算机进行数据传输需要连接因特网而编程种的套接字就是用来连接该网络的工具。 构建套接字 1.调用soecket函数创建套接字 #includesys/socket.h int socket(int domain, int type, int protocol);——成功返回文件描述符失败返回-12.调用bind函数给套接字分配地址 #includesys/socket.h int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);——成功返回0失败返回-13.调用listen函数将套接字转化为可接受连接的状态 #includesys/socket.h int listen(int sockfd, int backlog);——成功时返回0失败返回-14.调用accept函数接受连接请求 #includesys/socket.h int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);——成功时返回文件描述符失败返回-1网络编程中接受连接请求的套接字创建过程总结如下 1.调用soecket函数创建套接字 2.调用bind函数给套接字分配地址 3.调用listen函数将套接字转化为可接受连接的状态 4.调用accept函数接受连接请求 编写 Hello World 服务器端 服务器端server是能受理连接请求的程序 hello_server.c #include stdio.h #include stdlib.h #include string.h #include unistd.h #include arpa/inet.h #include sys/socket.hvoid error_handling(char *message);int main(int argc, char *argv[]) {int serv_sock;int clnt_sock;struct sockaddr_in serv_addr;struct sockaddr_in clnt_addr;socklen_t clnt_addr_size;char message[]Hello World!;if(argc!2){printf(Usage : %s port\n, argv[0]);exit(1);}serv_socksocket(PF_INET, SOCK_STREAM, 0);if(serv_sock -1)error_handling(socket() error);memset(serv_addr, 0, sizeof(serv_addr));serv_addr.sin_familyAF_INET;serv_addr.sin_addr.s_addrhtonl(INADDR_ANY);serv_addr.sin_porthtons(atoi(argv[1]));if(bind(serv_sock, (struct sockaddr*) serv_addr, sizeof(serv_addr))-1 )error_handling(bind() error); if(listen(serv_sock, 5)-1)error_handling(listen() error);clnt_addr_sizesizeof(clnt_addr); clnt_sockaccept(serv_sock, (struct sockaddr*)clnt_addr,clnt_addr_size);if(clnt_sock-1)error_handling(accept() error); write(clnt_sock, message, sizeof(message));close(clnt_sock); close(serv_sock);return 0; }void error_handling(char *message) {fputs(message, stderr);fputc(\n, stderr);exit(1); } 构建请求连接套接字 客户端程序只有调用socket函数创建套接字和调用connect函数向服务器发出连接请求两个步骤 hello_client.c #include stdio.h #include stdlib.h #include string.h #include unistd.h #include arpa/inet.h #include sys/socket.hvoid error_handling(char *message);int main(int argc, char* argv[]) {int sock;struct sockaddr_in serv_addr;char message[30];int str_len;if(argc!3){printf(Usage : %s IP port\n, argv[0]);exit(1);}socksocket(PF_INET, SOCK_STREAM, 0);if(sock -1)error_handling(socket() error);memset(serv_addr, 0, sizeof(serv_addr));serv_addr.sin_familyAF_INET;serv_addr.sin_addr.s_addrinet_addr(argv[1]);serv_addr.sin_porthtons(atoi(argv[2]));if(connect(sock, (struct sockaddr*)serv_addr, sizeof(serv_addr))-1) error_handling(connect() error!);str_lenread(sock, message, sizeof(message)-1);if(str_len-1)error_handling(read() error!);printf(Message from server: %s \n, message); close(sock);return 0; }void error_handling(char *message) {fputs(message, stderr);fputc(\n, stderr);exit(1); } 请求连接函数 #includesys/socket.h int connect(int sockfd,struct sockaddr *serv_addr, socklen_t addrlen);——成功返回0失败返回-1在Linux平台下运行 gcc hello_server.c -o hserver ./hserver 9190现在已经打开了服务端但是调用的accept函数还没有返回接下来运行客服端 gcc hello_client.c -o hclient ./hclient 192.168.233.20 9190 输出: Hello World!基于Linux的文件操作 打开文件 #include sys/type.h #include sys/stat.h #include fcnt.hint open(const char *path, int flag);——成功返回文件描述符失败返回-1path 文件名的字符串地址flag 文件打开模式信息文件打开模式 打开模式 含义 O_CREAT 必要时创建文件 O_TRUNC 删除全部现有数据 O_APPEND 维持现有数据保存末尾 O_RDONLY 只读打开 O_WRONLY 只写打开 O_RDWR 读写打开关闭文件 #includeunistd.hint close(int fd);——成功返回0失败返回-1将数据写入文件 #includeunistd.h ssize_t write(int fd, const void *buf, size_t nbytes);——成功时返回写入的字节数失败返回-1buf保存要传输数据的缓冲地址nbytes要传输的字节数函数定义中size_t是通过typedef声明的unsigned int类型对于ssize_t来说s代表signedssize_t为signed int类型 lower_open.c #include stdio.h #include stdlib.h #include fcntl.h #include unistd.hvoid error_handling(char* message);int main(void) {int fd;char buf[]Lets go!\n;fdopen(data.txt, O_CREAT|O_WRONLY|O_TRUNC);if(fd-1)error_handling(open() error!);printf(file descriptor: %d \n, fd);if(write(fd, buf, sizeof(buf))-1)error_handling(write() error!);close(fd);return 0; }void error_handling(char* message) {fputs(message, stderr);fputc(\n, stderr);exit(1); } 读取文件中的数据 与write函数对应read函数是用来接受数据的 #includeunistd.hssize_t read(int fd, void *buf, size_t nbytes)——成功返回接受的字节数失败返回-1lower_read.c #include stdio.h #include stdlib.h #include fcntl.h #include unistd.h#define BUF_SIZE 100void error_handling(char* message);int main(void) {int fd;char buf[BUF_SIZE];fdopen(data.txt, O_RDONLY);if( fd-1)error_handling(open() error!);printf(file descriptor: %d \n , fd);if(read(fd, buf, sizeof(buf))-1)error_handling(read() error!);printf(file data: %s, buf);close(fd);return 0; }void error_handling(char* message) {fputs(message, stderr);fputc(\n, stderr);exit(1); }ps: 在文中出现好多次void error_handling(char* message)函数这个是打印错误信息的也可以用perror函数例如#include stdio.h #include stdlib.h #include fcntl.h #include unistd.hint main() {int fd open(data.txt, O_RDONLY);if(fd -1){perror(open:);} } 更多资料点击 GitHub 欢迎各位读者去Star ⭐学术交流群Q 754410389 持续更新中~~~
http://www.zqtcl.cn/news/745015/

相关文章:

  • 玉林住房和城乡建设局网站官网google广告在wordpress
  • 海淀网站建设公司wordpress 招聘网站模板
  • 手机网站在哪里找到网上能免费做网站发布叼
  • 网站设置英文怎么说广州优质网站建设案例
  • 外贸怎样做网站临汾花果街网站建设
  • 专业集团门户网站建设方案南昌医院网站建设
  • 用php做美食网站有哪些新建网站如何做关键词
  • 企业网站建设招标微信公众平台官网登录入口网页版
  • 网站宣传图网站程序预装
  • 网站设计论文选题seo排名优化推广报价
  • wordpress图床网站百度链接收录
  • 八年级信息网站怎么做电商网站的支付接入该怎么做呢
  • wordpress 的应用大兴安岭地网站seo
  • 网站建站作业做直播网站赚钱
  • 网站建设虍金手指花总简单免费制作手机网站
  • 京东网站是刘强冬自己做的吗献县网站建设价格
  • 余姚什么网站做装修比较好邢台企业做网站哪儿好
  • 网站建设后端国外购物平台排行榜前十名
  • 西安做百度推广网站 怎样备案简述商务网站建设
  • 如何建设本地网站东莞常平限电通知2021
  • 成都网站建设cdajcx重庆推广网站排名价格
  • 建网站的价格网店设计方案计划书
  • 长沙做公司网站如何制作个人网站教程
  • 做一个网站怎么做的仿qq网站程序
  • 曲靖市建设局网站官网织梦可以放两个网站
  • 网站建设方案ppt模板网站怎么做用户登录数据库
  • 做3d图的网站有哪些软件有哪些专业设计企业网站
  • 青海省wap网站建设公司做美工比较好的网站
  • 1个云虚拟主机怎么做多个网站网站规划与建设实验心得
  • led视频网站建设公众号代运营平台