socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理:errno.h 2)初始化 Windows下需要用WSAStartup Linux下不需要 3)关闭socket Windows下closesocket(...) Linux下close(...) 4)类型 Windows下SOCKET Linux下int 如我用到的一些宏: #ifdef WIN32 typed…
  1.mystery引入      1)无连接编程也称为UDP编程,是采用UDP报文的形式完成的网络通信    2)UDP是一种对等通信,本身不区分服务器端和客户端    3)对等通信,最容易想到的就是P2P,P2P是一种点对点的通信方式,各节点之间遵循对等的关系 2.UDP实例   1) 示例采用UDP报文向自身发送消息,在初始化时绑定一个端口,并在这个端口上等待数据的到来,同时提供一个键盘输入,用户可以利 用键盘输入信息,然后发送到自己绑定的端口上    2)由于这里只是作测试,所以没有写…
在posix标准推出后,socket在各大主流OS平台上都得到了很好的支持.而Golang是自带runtime的跨平台编程语言,Go中提供给开发者的socket API是建立在操作系统原生socket接口之上的.但golang 中的socket接口在行为特点与操作系统原生接口有一些不同.本文将对结合一个简单的hello/hi的网络聊天程序加以分析. 一.socket简介 首先进程之间可以进行通信的前提是进程可以被唯一标识,在本地通信时可以使用PID唯一标识,而在网络中这种方法不可行,我们可以通过…
什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linux containers与Windows Subsystem for Linux(WSL)区别 此处以docker与wsl进行一些比较,主要为个人的理解之处. docker与wsl同样运行在本机环境中运行,不依赖其他管理程序与虚拟化. docker与wsl同样为应用容器. 安装WSL 在Window…
 原文网址:http://blog.chinaunix.net/uid-2270658-id-308160.html [[Windows]] [Windows: 头文件的区别] #include<winsock.h>#include<winsock2.h> [Windows: 初始化的区别] WSADATA wsaData;WSAStartup(0x202,&wsaData); [Windows: 声明Socket] SOCKET类型 [Windows: Socket关闭]…
读操作 对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返 回.当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数.当sockt的接收缓冲 区中的数据大于期望读取的字节数时,读取期望读取的字节数,返回实际读取的长度. 对于非阻塞socket而言,socket的接收缓冲区中有没有数据,read调用都会立刻返回.接收缓冲区中有数据时,与阻塞socket有数据的情况是一样的,如果接收缓冲区中没有数据,则返回错误号为 EW…
1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe).命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(message).共享存储区(shared memory)和信号量(semaphore)等. 他们都仅限于用在本机进程之间通信.网间进程通信要解决的是不同主机进程间的相…
Linux 系统编程 学习:006-基于socket的网络编程1:有关概念 背景 上一讲 进程间通信:System V IPC(2)中,我们介绍了System IPC中关于信号量的概念,以及如何使用. 这一讲我们来讨论"BSD socket(简称socket)",作为Linux中进程间通信的最后一种方式.实际上,socket可以跨主机通信. 本来文章标题应该以"进程间xxx"为字眼的,但是在开发中,我们更多提及"基于socket的网络编程". 知…
讨论下有关于Windows Phone下的Socket编程方面的知识. Socket就是通常所称的套接字,用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过Socket向网络发出请求或者应答网络请求. 这里,初学者可能会分不清Socket连接与HTTP连接的区别,我刚刚接触Socket的时候就曾经为此困扰过. 通常Socket连接就是TCP连接,这里就以TCP连接为例,一旦建立了Socket连接,通信双方就可开始相互发送和接收数据内容,直到断开连接为止,不过由于实际网络中的不确定因素太…
TCP通信 一个程序使用套接字需要执行4个步骤. --分配套接口和初始化 --连接 --发送或接收数据 --关闭套接字 涉及到的调用包括socket.bind.listen.connect(阻塞线程).accept(阻塞线程).recv(阻塞线程).send(阻塞线程). 分配套接口和初始化 --我们需要做的第一件工作就是分配套接口. --套接口可以看作是文件描述符 --不论server端,还是client端,第一步都是一样的 每个套接口都是一个通信的通道 两个进程通过套接口建立连接后就可以发送…