您的位置:首页 > 教育 > 培训 > 万户网络是干什么的_遵义网页制作招聘_网络公司网络推广服务_最近的时事新闻

万户网络是干什么的_遵义网页制作招聘_网络公司网络推广服务_最近的时事新闻

2025/5/15 20:07:52 来源:https://blog.csdn.net/2401_83532323/article/details/146024462  浏览:    关键词:万户网络是干什么的_遵义网页制作招聘_网络公司网络推广服务_最近的时事新闻
万户网络是干什么的_遵义网页制作招聘_网络公司网络推广服务_最近的时事新闻

一.udp双向通信

1.fork进程实现双向通信

【1】head.h

【2】client客户端

(1)父进程从键盘获取字符串

(2)输入quit,发送结束子进程信号

(3)exit退出父进程

(1)子进程接受信息

(2)getppid用于退出父进程

【3】server服务器

注意:在通信前,客户端需要先发一条消息用于服务器获取客户端信息

(1)父进程发送信息,输入quit发送信号结束子进程并退出

(2)子进程接受信息,输入信息获取父进程pid并结束父子进程

2.pthread线程实现udp双向通信

【1】client客户端

注意:定义全局变量sockaddr_in不用向线程传参.

【2】server服务器

同样,服务器需要先获取客户端信息

二,udp实现文件复制

1.client客户端

(1)首先,向服务器传入文件名

(2)读取文件,进行传输

打开新文件并写入

三.udp实现聊天室

1.实现思路梳理

2.head.h

(1)定义结构体msg_t用于存储客户端数据

   type:用于存储客户端状态

   name:用于存储客户端名字

  text:用于存储需要发送的文本

(2)MSG_TYPE分为进入,发送,退出三种状态

3.client客户端

(1)记录状态为进入,获取名字,初始化文本

(2) 发送客户端信息,由服务器接受后向其他客户端发送接入信息

创建线程进行读写

线程1:(1)在读操作里定义结构体用于读取其他客户端信息

(2)读取服务器发送来的其他客户端信息

(3)打印发送人和发送消息

注:定义两个全局变量后,不用向线程传参

线程2:(1)从键盘获取发送消息

(2)

【1】如果是quit就将状态变为QUIT,向服务器发送结构体,服务器读取后向其他客户端发送退出信息,并删除客户端信息

【2】如果是其他消息,向服务器发送,由服务器发送给其他客户端

4.server服务器

(1)定义能接入的客户端的宏为10

(2)定义结构体的数组用于接受这些客户端的信息

(1)接收接入的客户端信息

(2)读取客户端状态

【1】LOGIN接入状态

1.将信息记录在结构体的数组中

2.向其他客户换发送接入信息

注:其他客户端为接入状态,且将存储的地址与客户端进行对比,向除了自己的其他客户端发送信息

【2】CHAT状态

直接发送结构体信息

【3】QUIT状态

(1)向其他客户端发送退出信息

(2)清空客户端结构体信息

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com