qakito 最近的时间轴更新
qakito

qakito

V2EX 第 219437 号会员,加入于 2017-03-07 15:25:59 +08:00
今日活跃度排名 5511
qakito 最近回复了
269 天前
回复了 julyclyde 创建的主题 Linux systemd 的时区是怎么确定下来的?
initramfs 只负责启动,启动过程中由 systemd 挂载真正的 rootfs(log 里也有 switching root)
/etc /usr 之类的目录都是由 systemd-mount 挂载完毕后才指向实际硬盘里的内容
281 天前
回复了 amiwrong123 创建的主题 Wireshark wireshark 如何抓到 ip 数据包被分片的情况
这就牵涉到 path mtu
但 TCP 是置了 DF 位,除非外层有其他 VPN(IPSec/MPLS/GRE 之类的),否则不可能抓到分片报文
282 天前
回复了 amiwrong123 创建的主题 Wireshark wireshark 如何抓到 ip 数据包被分片的情况
TCP 为了传输效率是不允许分片的。如何做到不分片请查阅 MSS 。
最简单就是 ping 大包了:
ping A.B.C.D -l 10000(windows)
ping A.B.C.D -s 10000(linux)
304 天前
回复了 amiwrong123 创建的主题 程序员 三次握手和欢迎套接字的问题?
另,关于 TCP server 在 unix 网络编程中也有相关章节介绍
无论是子进程的方式,还是 select 复用
304 天前
回复了 amiwrong123 创建的主题 程序员 三次握手和欢迎套接字的问题?
listen socket 只用来接收客户端的 TCP 连接
1.完成握手后,该 client 连接信息(IP:PORT + SERVER:PORT)加入 listen socket 的连接完成队列,同时 accept 函数返回
2.accept 函数从 listen socket 的连接完成队列中取队列元素,并生成新的 socket 与其关联
3.server 可以通过新的 socket 与 client 通信

代码中,listen socket 只需要完成
fd = socket(AF_INET, SOCK_STREAM, 0);
bind(fd, 相应的 TCP 端口)
listen(fd)
new_conn = accept(fd)
当新 TCP 连接完成,new_conn 即可用于实际数据通信

至于 new_conn 的实际交互流程,可以放在子进程(or 线程),也可以在同一个进程里完成

你要的答案 TCP/IP 详解卷 2 里有 socket 的相关实现
312 天前
回复了 Osk 创建的主题 分享发现 Windows 10 商店里面的一些优秀开源软件
@jsq2627
不能粘贴有点伤

苦于旧版本的 clover 在 win10 上支持不好;新版本有广告页,还以为 files 能是个好的替代
334 天前
回复了 station 创建的主题 Linux sed 删除匹配行 ?
uci 配置文件有提供统一的读写接口:
Usage: uci [<options>] <command> [<arguments>]

Commands:
batch
export [<config>]
import [<config>]
changes [<config>]
commit [<config>]
add <config> <section-type>
add_list <config>.<section>.<option>=<string>
del_list <config>.<section>.<option>=<string>
show [<config>[.<section>[.<option>]]]
get <config>.<section>[.<option>]
set <config>.<section>[.<option>]=<value>
delete <config>[.<section>[[.<option>][=<id>]]]
rename <config>.<section>[.<option>]=<name>
revert <config>[.<section>[.<option>]]
reorder <config>.<section>=<position>

Options:
-c <path> set the search path for config files (default: /etc/config)
-d <str> set the delimiter for list values in uci show
-f <file> use <file> as input instead of stdin
-m when importing, merge data into an existing package
-n name unnamed sections on export (default)
-N don't name unnamed sections
-p <path> add a search path for config change files
-P <path> add a search path for config change files and use as default
-q quiet mode (don't print error messages)
-s force strict mode (stop on parser errors, default)
-S disable strict mode
-X do not use extended syntax on 'show'
2020-09-06 18:55:36 +08:00
回复了 bear2000 创建的主题 Linux select poll epoll 在哪本书里有讲到?
The Linux Programming Interface CH 63
2020-09-02 13:09:42 +08:00
回复了 shiroikuma 创建的主题 程序员 会多门自然语言对程序员来说算不算加分项
加分
当海外用户丢给你一些本地资料说:我要这个这个这个时,能更好理解需求
2020-06-27 10:29:54 +08:00
回复了 x97bgt 创建的主题 程序员 不懂就问,为啥同一个软件不能用在 x86 和 amd 的 CPU 上?
1. 如果是可执行的二进制文件,本身就是机器码;不同架构机器码不同;函数出入栈规范不同;寄存器使用规范不同
2. 如果是可执行的脚本文件,没差
3. 即便是相同的 API,不同架构上也有部分差异,比如部分信号值在不同架构上是不同的(详见 man 7 signal)
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3122 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 04:23 · PVG 12:23 · LAX 20:23 · JFK 23:23
♥ Do have faith in what you're doing.