`

信息发送函数send

阅读更多

信息发送函数send

用connect函数连接到远程计算机以后,可以用send函数将信息发送到对方的计算机。这个函数的使用方法如下所示。

int send(int s,const void * msg,int len,unsigned int flags);


在参数列表中,s表示已经建立的socket,msg是需要发送数据的指针,len表示需要发送数据的长度。这个长度可以用sizeof函数来取得,参数flags一般设置为0,可能的赋值与含义如下所示。
 
MSG_OOB:传送的数据以out-of-band的方式送出。
 
MSG_DONTROUTE:取消路由表查询。
 
MSG_DONTWAIT:设置为不可阻断传输。
 
MSG_NOSIGNAL:此传输不可被SIGPIPE信号中断。

如果发送数据成功,函数会返回已经传送的字符个数,否则会返回-1。函数可能发生下面这些错误,可以用errno来捕获函数的错误。
 
EBADF:参数s不是一个正确的socket。
 
EFAULT:参数中的指针指向了不可读取的内存空间。
 
ENOTSOCK:参数s是一个文件,而不是一个socket。
 
EINTR:被信号中断。
 
EAGAIN:此操作会中断进程,但socket不允许中断。
 
ENOBUFS:系统的缓冲内存不足。
 
ENOMEM:核心内存不足。
 
EINVAL:传给系统调用的参数不正确。

在使用这个函数前,需要在程序的最前面包含下面的头文件。

分享到:
评论

相关推荐

    send函数 和recv函数

    在计算机网络编程中,socket编程是实现进程间通信的一种重要方式,其中`send`函数和`recv`函数是进行数据发送与接收的关键接口。下面将详细阐述这两个函数的工作原理、参数意义以及使用时需要注意的一些细节。 ####...

    STM32-串口发送函数

    串口发送函数在实际项目中用途广泛,如发送日志信息、接收指令、与上位机通信、连接蓝牙模块或WiFi模块等。在Keil环境下,可以方便地调试和测试这些功能。 综上所述,STM32串口发送函数的编写涉及到串口配置、发送...

    ws2_32.dll 拦截send函数并把发送内容写到ob文件里

    当`send()`函数被调用时,自定义的钩子代码会捕获到要发送的数据,将其复制到"OB"文件,然后再继续执行原始的`send()`函数逻辑,确保数据正常发送到网络。 实现这样的功能需要注意以下几点: - **安全性**:拦截...

    Socket send函数和recv函数详解

    不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。

    Delphi__调用API函数实现数据发送.rar

    例如,发送数据可能涉及的API函数可能是`Send`或`TransmitFile`,它们属于网络编程的范畴。 调用API函数在Delphi中通常分为以下几个步骤: 1. **导入库**:在Delphi中,我们使用`uses`关键字导入包含API函数声明的...

    Autoit_Send_命令的可用按键列表

    Send 命令是 AutoIt 中非常有用的一个函数/命令,因为我们可以用它来对窗口进行操作而无需使用鼠标。Send 命令的可用按键列表包括: 1. ^ Ctrl 2. ! Alt 3. + Shift 4. # Win(徽标键) 5. {ASC}ASCII 码字符(0-...

    HOOK SEND RECV函数拦截网络封包的程序.rar

    SEND和RECV函数则是用于网络数据传输的核心API,它们分别处理发送和接收数据到网络的操作。 SEND函数在Windows套接字(Winsock)编程中用于将数据发送到已连接的套接字。它接受一个指向缓冲区的指针,该缓冲区包含...

    无需注入,远程拦截_发送,send和WSASend发包.zip

    `send`和`WSASend`是Windows系统下用于发送数据到网络的API函数,它们都是套接字编程的一部分。`send`函数是标准的Berkeley套接字API的一部分,用于向已连接的套接字发送数据。它接受一个指向缓冲区的指针、要发送的...

    socket tcp如何防止多次send的包被合成一个包(粘包)发送.zip

    标题"socket tcp如何防止多次send的包被合成一个包(粘包)发送"主要关注的是如何避免这种粘包现象。以下是一些防止TCP粘包的方法: 1. **设置TCP_NODELAY选项**: - 文件"2使用TCP_NODELAY选项,告诉内核尽快将该...

    socket tcp连续send会发送失败 什么原因 怎么解决.zip看似丢包其实不是

    socket连续send会发送失败 看似丢包 什么原因 怎么解决.zip

    delphi7写的一个通用串口发送函数

    本篇将详细介绍一个通用串口发送函数的实现及其相关知识。 首先,Delphi 7中的串口通信主要通过TSerialPort组件来完成,它位于ComObj单元中,提供了丰富的属性、方法和事件,可以方便地进行串口配置和数据交换。...

    Socket编程的发送接收消息函数

    本文主要探讨Socket编程中用于发送和接收消息的关键函数——send和recv。 send函数是用来向TCP连接的另一端发送数据的。它的函数原型为: ```cpp int send(SOCKET s, const char FAR *buf, int len, int flags); ``...

    挂钩send函数

    【标题】:“挂钩send函数”是指在Windows操作系统中,通过编程技术对Winsock库中的`send`函数进行拦截和修改,以便在数据发送时添加额外的功能或监控网络通信。这通常涉及到了系统底层编程和钩子(Hook)技术。 ...

    stc发送send.zip

    "stc发送send.zip"这个压缩包很可能包含了一个关于STC单片机串口发送的示例项目或教程。 串口通信通常使用UART(通用异步收发传输器)接口,它包括发送(TXD)和接收(RXD)两条线。在STC单片机中,配置串口发送...

    Delphi 发送HTML格式邮件和纯文本邮件源代码,支持SSL,包含SSL所需要的动态库,是后台进行邮件注册认证的必备!

    Delphi 的Indy开发,包含演示程序源代码 ...//异步发送函数 Send_Email(SMTPServer,Account,Password,Subject,Content,Attachment,Recipients,BccLsit,True, OnSendCompleted); //异步发送函数 Send_Email(SMTPSer

    模拟VB的SendKeys函数

    本文将详细介绍如何使用Visual Basic (VB) 编写一个函数来模拟`SendKeys`功能,该函数能够向当前活动窗口发送指定的文本字符串,模拟用户键盘输入。 #### 关键知识点 1. **Windows消息机制**:在Windows操作系统中...

    CC2530常用的函数

    4. osal_msg_send(App_TaskID, (byte *)pMsg):消息发送函数。用于发送消息到OSAL层。 OSAL(Operating System Abstraction Layer)是CC2530中的操作系统抽象层,负责管理系统的所有资源。这函数的作用是将消息发送...

    lwip的回调函数学习笔记与相关函数释疑

    tcp_connect 函数设置打开连接的 pcb 连接到远程主机并发送初始的 SYN 段。函数 tcp_connect() 会立即返回;它并不等待这个连接是否被正确设置。相反的,当连接正确建立后它将调用第四个参数("connected"参数)指定...

    micsendstring函数的应用

    其中,MCI SendString 函数是一种重要的命令字符串函数,用于向多媒体设备发送命令字符串。 MCI 函数分类 MCI 函数可以分为两类:命令消息函数和命令字符串函数。命令消息函数用于发送命令消息,例如 ...

    uart_send.rar_cc2530_串口发送 send

    在“uart_send.rar”这个文件中,可能包含了实现上述步骤的源代码示例,可能包括初始化函数、发送函数、状态检查函数等。开发者可以通过阅读这些代码,了解如何在实际项目中应用CC2530的串口发送功能。由于没有具体...

Global site tag (gtag.js) - Google Analytics