C语言Socket服务器怎么给客户端发消息

C语言Socket服务器怎么给客户端发消息,第1张

你的文件中的问题

// 会阻塞进程,直到有客户端连接上来为止

// 既然是直到有客户端连接上,那么就要弄明白哪个是与客户端连接的套接

// sockClient就是与客户端连接的套接字

sockClient = accept(sockServer, (SOCKADDR*)&addrClient, &len)

//接收并打印客户端数据

recv(sockClient, recvBuf, 100, 0)

printf("%s\n", recvBuf)

// 所以此处,应该把sockServer改为sockClient

send(/*sockServer*/sockClient, sendBuf, 100, 0)

PS:服务器客户端通信,是要保持服务器与客户端的连接。

而不能这样立即关闭,如果设置不对,立即关闭,缓冲区的数据是会丢失的。那客户端也就不会再收到数据了。

你可以加Sleep(10000)来测是通信过程

//关闭socket

closesocket(sockClient)

网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。

下面用Socket实现一个windows下的c语言socket通信例子,这里我们客户端传递一个字符串,服务器端进行接收。

【服务器端】

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <winsock2.h>

#define SERVER_PORT 5208 //侦听端口

void main()


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/259347.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存