C/C++网络编程2——socket函数

  本节主要介绍创建套接字的socket函数。

#include <sys/socket.h>

int socket(int domain, int type, int protocol);
// 创建成功返回文件描述符,创建失败返回-1

domain : 套接字中使用的协议族
    PF_INET : IPv4互联网协议族,常用的是这个
    PF_INET6 : IPv6互联网协议族
    PF_LOCAL : 本地通信的UNIX协议族
    PF_PACKET : 底层套接字的协议族
    PF_IPX : IPX Novell协议族

type : 套接字数据传输类型信息,套接字的数据传输方式。
    SOCK_STREAM : 面向连接的套接字,TCP
                可靠的,按序传递的,基于字节的面向连接的数据传输方式的套接字。
    SOCK_DGRAM : UDP
                不可靠的,不按序传递的,以数据的告诉传输为目的的套接字。

protocol : 计算机间通信使用的协议信息
    前两个参数基本确定了协议类型,第三个参数一般传0.
    IPPROTO_TCP : TCP
    IPPROTO_UDP : UDP

原文地址:https://www.cnblogs.com/418ks/p/11639275.html

时间: 2024-10-08 10:16:35

C/C++网络编程2——socket函数的相关文章

Unix网络编程 之 socket基础

基本结构 (这部分的地址均为网络地址<网络字节序>) 1.struct sockaddr:通用套接字地址结构 此结构用于存储通用套接字地址. 数据结构定义: typedef unsigned short sa_family_t; struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */ };    sa_fa

Unix网络编程 之 socket简介

概述 Socket的英文原意是"孔"或"插座",现在,作为Unix的进程通信机制,常常取"插座"这一意义.日常生活中常见的插座,有的是信号插座,有的是电源插座,有的可以接收信号或能量,有的可以发送信号或能量.举例来说,电话线与电话机之间需要一个插座(相当于两者之间的接口,这一部分装置物理上是存在的).对于网络编程,socket就相当于电话线与电话机之间的插座. 将电话系统与面向连接的Socket机制相比,两者之间有着惊人的相似的地方.以一个国家的

python 网络编程:socket和select实现伪并发

上节地址:Python网络编程:socket 先补充点内容: 一.send和sendall区别 send,sendall ret = send('safagsgdsegsdgew') #send 发送完成后会有一个返回值,告知发送了多少,并不一定会把数据全部发送过去. sendall:内部调用send,将数据全部发送完为止. 因此我们使用时最好使用sendall 二.粘包 粘包问题需要理解recv()的使用,我们定义接收值的时候会写recv(1024)表示一次接收1024字节,但是有时候接收的数

iOS网络编程笔记——Socket编程

一.什么是Socket通信: Socket是网络上的两个程序,通过一个双向的通信连接,实现数据的交换.这个双向连路的一端称为socket.socket通常用来实现客户方和服务方的连接.socket是TCP/IP协议的一个十分流行的编程接口.一个socket由一个IP地址和一个端口号唯一确定.TCP/IP协议的传输层又有两种协议:TCP(传输控制协议)和UDP(用户数据报协议).TCP是基于连接的,而UDP是无连接的:TCP对系统资源的要求较多,而UDP少:TCP保证数据的正确性而UDP可能丢包:

Linux 网络编程(socket多线程升级版)

//网络编程--客户端 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/socket.h> #include <pthread.h> #include <netinet/in.h>

python 网络编程:socket

在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一些概念和结构,还包括一系列的协议. TCP/IP四层模型:既然有OSI七层模型,为什么我们还要定义一个TCP/IP的四层模型呢,那是因为OSI七层模型对应面过于宽泛,很多概念实现不了,也没必要实现,因此,实际生产中广泛应用的是TCP/IP四层结构,他们的对应关系如下表: TCP/IP OSI 应用层

Linux网络编程3&mdash;&mdash;socket

宏定义 首先介绍两个宏定义,看如下代码 代码1 /************************************************************************* > File Name: test.c > Author: KrisChou > Mail:[email protected] > Created Time: Thu 28 Aug 2014 10:11:59 AM CST ********************************

UNIX网络编程:socket套接字(TCP与UDP)

套接字简介: 套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程.应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行,Linux所提供的功能(如打印服务,ftp等)通常都是通过套接字来进行通信的,套接字的创建和使用与管道是有区别的,

python全栈开发基础【第十八篇】网络编程(socket)

一.网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系:我们用socket就是为了完成C/S架构的开发 osi七层 引子: 须知一个完整的计算机系统是由硬件.操作系统.应用软件三者组成,具备了这三个条件,一台计算机系统就可以自己跟自己玩了(打个单机游戏,玩个扫雷啥的) 如果你要跟别人一起玩,那你就需要上网了,什么是互联网? 互联网的核心就是由一堆协议组成