gcc rw.c
rw.c:75:6: warning: conflicting types for ‘process_conn_server’
void process_conn_server(int s)
^
rw.c:64:4: note: previous implicit declaration of ‘process_conn_server’ was here
process_conn_server(sc);
^
上述问题是 缺少函数的预定义
void process_conn_server(int s);
主机CPU及操作系统的千差万别,主机的字节序不能做到统一,但对网络上传输的变量,它的值必须有一个统一的表示,网络字节序指多字节变量在网络传输时的表示方法
网络字节序是指多字节变量在网络上的传输时的表示
网络字节序用高端字节序
网络字节序使用高端 小端字节序变量在网络传输变量的时候需要进行字节序的转换,大端字节序的变量则不需要进行转换
程序设计方便,用户的程序与平台无关,linux操作系统提供了如下函数进行字节序的转换
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong); /*主机字节序到网络字节序的长整型*/
uint16_t htons(uint16_t hostshort);
uint32_t ntonl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);
host to net long;
uint32_t htonl(uint32_t hostlong);
uint32_t unsigned 32 int
hostlong
netlong
hostshort
netshort
函数传入的变量为需要转换的变量,函数传入的,结构是一个联合类型,通过value来赋值,通过byte数组来进行字节序转换
value 赋值,通过byte数组来进行字节序转换