Linux系统编程
文章平均质量分 89
精品西红柿
这个作者很懒,什么都没留下…
展开
-
linux系统编程 线程 p1
进程ID是用pid_t数据类型来表示的,是一个非负整数。线程ID是用pthread_t 数据类型来表示的,实现的时候可以用一个结构来代表pthread_t数据类型,所以可移植的操作系统实现不能把它作为整数处理。就像每个进程有一个进程ID一样,每个线程也有一个线程ID。进程ID在整个系统中是唯一的,但线程ID不同,线程ID只有在它所属的进程上下文中才有意义。线程可以安排它退出时需要调用的函数,这与进程在退出时可以用atexit函数安排退出是类似的。这种现象是因为:线程的调度取决于调度器的调度策略。原创 2024-04-02 22:51:38 · 753 阅读 · 0 评论 -
linux系统编程 socket part2
UDP丢包并不是因为TTL,TTL是当前包的要跳转的路由的个数,linux环境下一般默认为64,Windows一般为128,一般情况下完全足够。丢包其实是由于阻塞造成的。问题3:发送端发送消息后,接收端收到了数据,并且发送了ACK,但是ACK数据丢了,在一定时间后没有收到接收端ACK,则重新发送消息。问题4:如图 d2 丢包,ACK1 延迟回复给了发送端,则发送端认为d2发送成功,继续发d3,实际接受端是没有收到过d2的。rcver.cpp:设置套接字,打开广播选项,如果不打开,可能收到,可能收不到。原创 2024-03-24 23:17:21 · 1072 阅读 · 0 评论 -
linux系统编程 socket part1
套接字是一种通信机制(通信的两方的一种约定),socket屏蔽了各个协议的通信细节,提供了tcp/ip协议的抽象,对外提供了一套接口,通过这个接口就可以统一、方便的使用tcp/ip协议的功能。在本章中,我们将描述套接字网络进程间通信接口,进程用该接口能够和其他进程通信,无论它们是在同一台计算机上还是在不同的计算机上。套接字是通信端点的抽象。以为例报式:从sockfd接收消息,接收的消息buf,长度len, 有没有特殊要求 ,对端的地址,和地址长度。在32位的机器上,各占用4,4,1共9个字节的大小。原创 2024-03-17 23:47:38 · 875 阅读 · 0 评论