socket
文章平均质量分 73
weixin_42734533
这个作者很懒,什么都没留下…
展开
-
socket网络编程——基于socket通信实现对客户端与服务器间的文件互传
客户端与服务器间的文件互传 基于socket的文件数据互传,将文件中所有的字符一一通过buf进行传递,为了更好地判断文件的 结束,通过添加文件结束标识符“#”,当接收端接收到该字符,即可表示发送端对该文件传输结束,结束端需要对文件进行保存,并继续创建新的文件进行新文件内容的写入目录客户端与服务器间的文件互传代码strcat()、strcmp()、strcpy()函数的用法**fgets()、scanf()、gets()函数的用法 及区别****文件流的读出与写入(fwrite、fread)方法****原创 2022-05-18 19:21:37 · 1728 阅读 · 0 评论 -
socket网络编程——通过输入参数区分服务器与客户端
socket网络编程——通过输入参数区分服务器与客户端文章目录socket网络编程——通过输入参数区分服务器与客户端源码源码服务器和客户端共用一套源码,根据输入参数的不同,分别启动服务器线程或客户端线程#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <neti原创 2022-05-07 20:56:59 · 492 阅读 · 0 评论 -
socket网络编程——两个终端共用一份代码,先启动的做服务器,后启动做客户端
socket网络编程——两个终端共用一份代码,先启动的做服务器,后启动做客户端 两个终端,先运行的作为服务器,后运行的作为客户端:这样两个终端的代码基本一致,不同点在于端口号的不同,通过端口号来区分两个终端。其中的实现代码,应考虑先创建两个线程,主线程放服务器程序,子线程放客户端程序。利用connect()的返回值来确定当前是否已开启服务器端,需要将connect()放在子线程中【针对错误以结束线程的方式结束,否则系统会直接退出】在运行过程中,为了保证每个终端只有一个身份(要么是客户端,要么是服务器),因原创 2022-04-26 21:13:46 · 1040 阅读 · 0 评论 -
socket网络编程——多线程并发,多客户端与服务器交互
多客户端与服务器数据互发基于上几节描述,本节进行多客户端与服务器的数据互发。创建服务器,每当一个新的客户端与服务器建立连接后,创建新的线程用于与客户端进行数据交互与处理;每个客户端同样创建线程,主线程用于发数据,子线程用于读数据文章目录多客户端与服务器数据互发server端client 端编译运行输出server端#include <stdio.h>#include <stdlib.h>#include <string.h>#include <u原创 2022-03-28 19:13:42 · 1738 阅读 · 0 评论 -
socket网络编程——多线程并发服务器
多线程并发服务器线程作为程序执行的最小单位,一个进程中可以拥有多条线程,所有线程可以共享进程的内存区域,线程通常在运行时也需要一组寄存器、内存、栈等资源的支撑。文章目录多线程并发服务器说明server端client端pthread_creat()说明在使用线程模型开发服务器时需考虑以下问题:1.调整进程内最大文件描述符上限2.线程如有共享数据,考虑线程同步3.服务于客户端线程退出时,退出处理。(退出值,分离态)4.系统负载,随着链接客户端增加,导致其它线程不能及时得到CPUserv原创 2022-03-26 10:35:39 · 2521 阅读 · 0 评论 -
socket网络编程——多进程并发服务器
多进程并发服务器进程就是一段程序的执行过程,是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。文章目录多进程并发服务器说明server端client段说明使用多进程并发服务器时要考虑以下几点:1.父进程最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符)2.系统内创建进程个数(与内存大小相关)3.进程创建过多是否降低整体服务性能(进程调度)server端#原创 2022-03-26 10:04:34 · 2140 阅读 · 0 评论 -
socket网络编程——错误函数封装
错误封装函数系统调用不能保证每次都成功,必须进行出错处理,这样一方面可以保证程序逻辑正常,另一方面可以迅速得到故障信息。 为使错误处理的代码不影响主程序的可读性,我们把与socket相关的一些系统函数加上错误处理代码包装成新的函数,做成一个模块错误封装函数错误封装函数错误函数源码wrap.cwrap.hserverclient错误函数源码wrap.c#include "wrap.h"/* 打印错误原因并退出 */void perr_exit(const char *s){ per原创 2022-03-16 20:43:36 · 666 阅读 · 0 评论 -
socket网络编程——概念篇
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-03-16 16:05:58 · 3173 阅读 · 0 评论