
网络编程
半片瓜
我要每天充实且快乐
展开
-
消息收发
#include #include #include #include #include #include #include struct my_msg{ int msg_type; char text[1024];}msgbuf;int main(){ int running = 1; int msgid; long int msg_recv = 0; ms转载 2015-04-21 18:10:36 · 499 阅读 · 0 评论 -
C语言扫雷
1.linux下完成成2.通过打印不同背景,实现光标功能#include #include #include #define TTY_PATH "/dev/tty"#define STTY_ON "stty raw -echo -F"#define STTY_OFF "stty -raw echo -F"int map[12][12];int eight[8][2] =原创 2015-11-21 18:11:57 · 490 阅读 · 0 评论 -
getaddrinfo
1.概述一、Pv4中使用gethostbyname函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。二、IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个addrin转载 2015-06-01 08:52:58 · 416 阅读 · 0 评论 -
syslog
syslog是Linux中设置系统日记的一种工具。主要有三个函数openlog,syslog,closelog。需要的库#include void openlog(const char* ident, int options, int facility);注意openlog是可选的,如不调用openlog,则在第一次调用syslog,自动调用openlog。转载 2015-06-01 10:58:19 · 679 阅读 · 0 评论 -
linux下的poll函数
poll调用和select调用实现的功能一样,都是网络IO利用的一种机制。需要的的库#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);struct pollfd { int fd; short events; short revents; };原创 2015-05-25 23:13:44 · 643 阅读 · 0 评论 -
send和recv
recv和write只能用于套接字。需要库#includesend函数用于向已连接的套接字发送数据ssize_t send(int sock,const void *buffer,size_t length, int flags);fd指定套接字描述符;buf 发送数据缓冲区;len 发送数据大小;flag 指明消息传送的类型;参数flags的取值原创 2015-04-25 22:32:25 · 437 阅读 · 0 评论 -
套接字
Linux系统的套接字是一个通用的网路编程接口,它支持多种协议,每种协议使用不同套接字地址结构。为了保持套接字函数调用参数的一致性,Linux系统定义了一种通用的套接字地址结构,在系统头文件中定义如下:struct sockaddr{unsigned short int sa_family;unsigned char sa_data[14];};sa_family为套接字的转载 2015-04-24 21:56:27 · 297 阅读 · 0 评论 -
tcp/ip经服务器计算字节长度
服务端 tcp_server.c#include #include #include #include #include #include #include void process_conn_server(int s){ ssize_t size = 0; char buffer[1024]; for(;;) { size = read(s,buffer, 10转载 2015-04-12 11:21:21 · 382 阅读 · 0 评论 -
linux下的select函数
该函数允许进程指示内核等待多个事件的任何一个发生,并且只在有一个或多个事件发生或经历一段指定的时间后才能唤醒。需要的库#include #include int select(int maxfdp1, fd_set *readset, fd_set *write, fd_set *exceptest, const, struct timeval 8timeout);原创 2015-05-25 18:34:46 · 374 阅读 · 0 评论 -
面向连接的基本套接字函数
使用的库函数#include#include 1.socket函数创建一个套接字int socket(int domain, int type, int protocol);domain指定要创建的套接字的协议族;type指定套接字类型;protocol指定使用哪种协议;domain参数取值:AF_UNIX UNIX域协议族,本机进程间通信时转载 2015-04-25 10:08:01 · 448 阅读 · 0 评论 -
数据套接字
数据套接字是UDP协议,是一无连接,不可靠的数据报协议。不允许listen和accept函数数据报套接字上发送和接受数据的正常方法是sendto和recvfromint recvfrom(int socket, void *buffer,size_t size, int flags, struct sockaddr *from, size_t *addrlen);int sendt原创 2015-04-26 10:12:28 · 380 阅读 · 0 评论 -
进程通信共享内存
共享内存是允许多个进程共享内存;共享内存结构struct shmid_ds{struc ipc_permshm_perm; //指向该内存指针int shm_segsz; //共享内存的大小 ushortshm_lkcnt;//共享内存被锁定的时间pid_tshm_cpid;//最近调用shompde进程的进程号pid_tshm_lpi原创 2015-04-21 21:27:19 · 353 阅读 · 0 评论 -
string的标准库练习
#include #include size_t strlen(const char *s);void *memset(void *src, int n, size_t count);char *strstr(const char *s1, const char *s2);char *strcat(char *des, const char *src);char *strncat(c转载 2015-11-21 12:35:34 · 330 阅读 · 0 评论