#include <sys/socket.h>    int setsockopt( int socket, int level, int option_name,                        const void *option_value, size_t option_len); 第一个参数socket是套接字描述符.第二个参数level是被设置的选项的级别,如果想要在套接字级别上设置选项,就必须把level设置为 SOL_SOCKET.option_name指定准备设置…
一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2.操作这些不同的类型就像操作文件一样,比如增删改查等 二.环境准备 组件 版本 OS CentOS Linux release 7.5.1804 三.tcp socket 文件描述符 ● 当我们建立一条TCP连接时,在linux操作系统中会创建一个socket文件描述符 ● 通过文件描述符就能找到socket的几本信息,比如TCP四元组(client-ip:cli…
一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2.操作这些不同的类型就像操作文件一样,比如增删改查等 3.主要用于:运行在同一台机器上的2个进程相互之间的数据通信 4.它们和网络文件描述符非常相似(比如:TCP socket),他们的通信发生在操作系统内核 二.环境准备 组件 版本 OS CentOS Linux release 7.5.1804 三.Unix domain socket 文件描述符 先准备2个…
  TIJ读书笔记01-操作符 概述 关系操作符和逻辑操作符 位操作符 类型转换 概述 操作符 操作符接受一个或多个参数,并生成一个新值. 换句话说操作符作用于操作数,生成一个新值.有些操作符会改变操作数自身. 这种效应我们叫做side effect. 赋值 赋值操作符”=”的意思是,取右值赋值给左值. 右值可以是任意的常数,变量或者表达式(只要它能生成一个值). 但是左值必须是一个明确的已命名的变量. 也就是说必须有物理空间可以存储右值. 赋值也就是值传递,无论任何数据类型都遵循这一规则,都是…
前言 研一的时候写过socket网络编程,研二这一年已经在用php写api都快把之前的基础知识忘干净了,这里回顾一下,主要也是项目里用到了,最近博客好杂乱啊,不过确实是到了关键时刻,各种复习加巩固准备9月份校招,顺便优美的完成手里的项目 概述 socket这个词可以有很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通迅中的一个进程,“IP地址+端口号”就称为socket 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的s…
概述 有很多方法来获取和设置影响套接口的选项: getsockopt和setsockopt函数 fcntl函数 ioctl函数 getsockopt和setsockopt函数 这两个函数仅用于套接口. #include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, i…
       网络编程中有时明明用eth0的地址来bind一个udp套接口, 可是发出去的包却是从eht1走的, 在网上找到这么一段话解释该问题:           在多 IP/网卡主机上,UDP 包/协议会自动根据路由最优来选择从哪个网卡发数据包出去,即使你在此之前把该 SOCKET 绑定到了另一个网卡上.这样一来,如果你执行了绑定,则在 UDP 包中所代表的源 IP 字段可能不是你的数据包真正发出的地址. 比如:你有两个网卡分别为:A-192.168.1.100; B-192.168.2.…
Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 访问控制修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象.类.接口.变量.方法. private: 在同一类内可见.使用对象:变量.方法.注意:不能修饰类(外部类). public: 对所有类可见.使用对象:类.接口.变量.方法. protected: 对同一包内的类和所有子类可见.使用对象 :变量.方法.注意:不能修饰类(外部类). 默认访问修饰符 -- 不使用任何关键字 使…
linq对数据的查询方式的表达形式主要有两种: var demo =from p in pList where p.id=*** select p; var demo =pList.where(p=>p.id=***) select p; 以上是linq最近常见的两种表达形式.linq支持多种操作符的操作,下面对主要的常操作符进行说明: select 与selectmany select操作符声明: public static IEnumerable<s> select<T,S&g…
http://blog.csdn.net/ce123_zhouwei/article/details/8459730 Linux内核中的文件描述符(二)--socket和文件描述符 Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blog.csdn.NET/ce123) socket和文件系统紧密相关,我们可以通过文件系统的open.read.write和close等操作socket.下面是一个简单的例子. /…