共 9 篇文章 |
|
阅100 转0 评0 公众公开 18-03-20 17:01 |
基于libcpap对tcp协议以太网帧和ip的解析一、数据封装 当我们应用程序用TCP传输数据的时候,数据被送入协议栈中,然后逐个通过每一层,知道最后到物理层数据转换成比特流,送入网络。 阅163 转0 评0 公众公开 17-12-23 10:42 |
阅541 转0 评0 公众公开 17-12-08 10:45 |
struct sockaddr_in addr;if (bind(socka, (struct sockaddr*)&addr, sizeof(addr)) <0)// bind socka.if (bind(sockb, (struct sockaddr*)&addr, sizeof(addr)) <0) // bind sockb.int nRecEcho = recvfrom(socka, recv_buf, sizeof(recv_buf), 0, (struct sockaddr*)&cli, &nRecLen);int nRecEcho = recvfrom(sockb, r... 阅177 转1 评0 公众公开 17-12-07 22:39 |
通过静态分配的方法,将它设置为常量 PTHREAD_MUTEX_INITIALIZER.使用函数 pthread_mutex_init 进行初始化,如果是用此种方法初始化的互斥量,用完后还需要使用 pthread_mutex_destroy 对其进行回收。// 用于加锁的两个函数int pthread_mutex_lock(pthread_mutex_t *mutex);int pthread_mutex_trylock(pthread_mutex_t *mutex);// 解锁只有下面... 阅38 转0 评0 公众公开 17-12-07 17:57 |
pthread线程参数传递linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。#include <pthread.h>int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg); 阅578 转0 评0 公众公开 17-12-07 09:19 |
udp客户端和服务代码sendto函数:表头文件#include <sys/types.h > #include <sys/socket.h >定义函数 int sendto ( socket s , const void * msg, int len, unsigned int flags, const struct sockaddr * to , int tolen ) ;函数说明 sendto() 用来将数据由指定的socket传给对方主机。 阅538 转3 评0 公众公开 17-12-07 09:12 |
2) 如果nbtyes <= 套接字sockfd的发送缓冲区的长度,那么send先检查协议是否正在发送sockfd的发送缓冲区中的数据,如果是就等待协议把数据发送完,如果协议还没有开始发送sockfd的发送缓冲区中的数据或者sockfd的发送缓冲区中没有数据,那么send就比较sockfd的发送缓冲区的剩余空间和nbytes.3) 如果 nbytes >套接字sockfd的发送缓冲区剩... 阅730 转14 评0 公众公开 17-12-05 20:44 |