Man page - udp(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr es pl ja ru ro zh_TW zh_CNManual
UDP
NAME (名 字 )SYNOPSIS (总 览 )
DESCRIPTION(描 述 )
ADDRESS FORMAT (地 址 格 式 )
ERROR HANDLING (错 误 处 理 )
ERRORS (错 误 )
VERSIONS(版 本 )
CREDITS(尾 注 )
SEE ALSO(另 见 )
[中 文 版 维 护 人 ]
[中 文 版 最 新 更 新 ]
《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :
跋
NAME (名 字 )
udp - IPv4 上 面 的 UDP 协 议 .
SYNOPSIS (总 览 )
#include
<sys/socket.h>
#include <netinet/in.h>
udp_socket = socket(PF_INET, SOCK_DGRAM, 0);
DESCRIPTION(描 述 )
这 是 一 个 RFC768 中 的 用 户 数 据 报 协 议 的 实 现 . 它 实 现 无 连 接 的 , 不 可 靠 的 数 据 报 信 息 包 服 务 . 信 息 包 可 能 在 它 们 传 输 到 达 之 前 重 新 排 序 或 者 重 复 . UDP 通 过 生 成 和 检 查 校 验 和 来 俘 获 传 输 错 误 .
当 创 建 一 个 UDP 套 接 字 时 , 它 的 本 地 和 远 程 地 址 是 不 确 定 的 . 可 以 使 用 带 一 个 有 效 目 的 地 址 作 为 参 数 的 sendto (2) 或 者 sendmsg (2) 立 即 发 送 数 据 报 .如 果 套 接 字 上 调 用 了 connect (2) 时 , 则 设 置 默 认 的 目 的 地 址 , 数 据 报 可 以 使 用 send (2) 或 者 write (2) 发 送 而 不 需 要 指 定 目 的 地 址 . 也 可 以 通 过 传 递 一 个 地 址 给 sendto (2) 或 者 sendmsg (2) 来 发 送 到 其 它 目 的 地 址 . 为 了 接 收 信 息 包 ,套 接 字 必 须 首 先 用 bind (2) 绑 定 一 个 本 地 地 址 , 如 果 没 有 这 么 做 , 套 接 字 层 在 第 一 个 用 户 接 收 请 求 时 将 自 动 分 配 一 个 本 地 端 口 .
所 有 接 收 操 作 只 返 回 一 个 信 息 包 . 当 信 息 包 小 于 所 传 递 的 缓 冲 区 时 , 则 只 返 回 那 些 数 据 , 当 信 息 包 大 于 所 传 递 的 缓 冲 区 时 ,则 截 断 信 息 包 并 设 置 MSG_TRUNC 标 志 .
IP 选 项 可 以 使 用 描 述 于 ip (7) 中 的 套 接 字 选 项 发 送 或 接 收 . 只 有 打 开 了 合 适 的 sysctl 时 , 内 核 才 处 理 它 们 (不 过 即 使 关 闭 了 它 们 , 仍 然 会 传 递 给 用 户 ). 参 见 ip (7) .
如 果 设 置 了 MSG_DONTROUTE 标 志 ,则 发 送 时 目 的 地 址 必 须 指 向 一 个 本 地 接 口 地 址 , 而 且 信 息 包 只 发 到 该 接 口 .
当 UDP 的 总 长 超 过 接 口 MTU(Maximum Transmission Unit 最 大 传 输 单 元 )时 , UDP 会 对 信 息 包 进 行 分 段 . 一 个 更 为 网 络 友 好 的 可 选 方 法 是 使 用 path MTU discovery(路 径 MTU发 现 ), 它 描 述 于 ip (7) 中 的 IP_PMTU_DISCOVER 部 分 .
ADDRESS FORMAT (地 址 格 式 )
UDP 使 用 IPv4 的 sockaddr_in 地 址 格 式 ,其 描 述 于 ip (7) 中 .
ERROR HANDLING (错 误 处 理 )
所 有 重 大 错 误 都 会 以 错 误 返 回 值 的 方 式 传 递 给 用 户 , 即 使 套 接 字 没 有 连 接 亦 如 此 .这 种 处 理 方 式 有 别 于 许 多 其 它 的 BSD 套 接 字 实 现 方 法 , 除 非 套 接 字 连 接 上 , 否 则 那 些 方 法 不 会 传 递 任 何 错 误 , Linux 的 处 理 方 式 遵 循 RFC1122 的 要 求 .
为 了 与 以 前 的 代 码 兼 容 ,可 以 设 置 SO_BSDCOMPAT SOL_SOCKET 选 项 令 只 在 套 接 字 已 连 接 的 情 况 下 接 收 远 程 错 误 ( EPROTO 和 EMSGSIZE ) 除 外 . 最 好 是 修 复 代 码 并 适 当 地 处 理 错 误 , 而 不 要 打 开 该 选 项 . 本 地 产 生 的 错 误 总 是 传 递 .
当 打 开 了 IP_RECVERR 选 项 时 , 所 有 错 误 可 以 存 储 在 套 接 字 错 误 队 列 中 , 并 可 以 通 过 带 MSG_ERRQUEUE 标 识 设 置 的 recvmsg (2) 来 接 收 .
ERRORS (错 误 )
所 有 列 在 socket (7) 或 ip (7) 中 的 错 误 都 可 以 在 一 个 UDP 套 接 字 上 收 发 时 收 到 .
ECONNREFUSED 没 有 与 目 的 地 址 相 关 联 的 接 收 者 . 这 可 能 由 于 在 前 面 一 个 通 过 该 套 接 字 发 送 的 信 息 包 而 引 发 .
VERSIONS(版 本 )
IP_RECVERR 是 Linux 2.2 中 的 新 功 能 .
CREDITS(尾 注 )
本 手 册 页 的 作 者 为 Andi Kleen.
SEE ALSO(另 见 )
ip (7), socket (7), raw (7).
RFC768: 用
户 数 据 报 协 议 .
RFC1122: 主 机 需 求
RFC1191: 描 述 path MTU discovery (路
径 MTU查 找 ).
[中 文 版 维 护 人 ]
riser <boomer@ccidnet.com>
[中 文 版 最 新 更 新 ]
2001/07/19
《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :
http://cmpp.linuxforum.net
跋
本
页 面 中 文 版 由
中 文 man 手 册 页 计
划 提 供 。
中 文 man 手 册 页 计
划 :
https://github.com/man-pages-zh/manpages-zh