社区
通信技术
帖子详情
TCP/IP中,recv和send放在一个线程下,会有问题吗?
gordonlj
2018-05-06 11:29:58
采用的TCP/IP通信中,编写一个服务器端程序,先收到客户端的消息,处理完发送出去;
想在一个线程下,调用recv接收数据,处理完,再用send发送,会有问题吗?
...全文
795
2
打赏
收藏
TCP/IP中,recv和send放在一个线程下,会有问题吗?
采用的TCP/IP通信中,编写一个服务器端程序,先收到客户端的消息,处理完发送出去; 想在一个线程下,调用recv接收数据,处理完,再用send发送,会有问题吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
白色一大坨
2018-05-09
打赏
举报
回复
完全没问题,这样的小程序我做过不少的,都是接受数据后解析后再发出去
weimli
2018-05-06
打赏
举报
回复
我是这么写的,没有发现什么问题,能够运行成功。
TCP
/
IP
应用层协议实现 - 数据收发
send
/
recv
(lw
ip
)
1、接收数据(
recv
) 2、发送数据(
send
)
Socket编程---
send
函数和
recv
函数详解
一、
send
函数 函数原型: int
send
(SOCKET s,char *buf,int len,int flag); **功能:**不论是客户还是服务器应用程序都用
send
函数来向
TCP
连接的另一端发送数据。客户程序一般用
send
函数向服务器发送请求,而服务器则通常用
send
函数来向客户程序发送应答。 参数一:指定发送端套接字描述符; 参数二:存放应用程序要发送数据的缓冲区; 参数三:实际要发送的数据的字节数; 参数四:一般置为0。 同步Socket的
send
函数的执行流程,当调用该函数时,se
单
线程
TCP
/
IP
服务器和客户端的实现
需要指定协议簇为
IP
v4(AF_INET),端口为 9898,注意此处的 9898 在主机上的存储方式为小端,需要将其转化为网络
中
的存储方式即大端。定义缓冲区 buff 用于存放接收到的数据和放置需要发送的数据;指定服务器地址,并将字符串转换为网络
中
的字节序
ip
;使用 fd 监听客户端请求,若收到请求,将客户端的
ip
和端口信息写入。使用套接字 cfd 进行通信,将接收到的数据放入 buff
中
;是将监听的文件描述符 fd,和本机的
ip
和端口进行绑定;将主机上的端口转化为网络
中
的端口;
C++socket编程学习总结(2)(发送信息
send
函数、
recv
函数与多
线程
实现多个用户同时连接)
今天接着昨天的学习来,昨天我复习了简单的
TCP
服务器的创建、绑定端口号、监听并接收信息,还有大端(网络字节流)小端(X86架构CPU使用的字节流)的概念。 今天复习发送信息
send
函数\
recv
函数与多
线程
实现多个用户同时连接。
send
函数用于发送一段数据,
recv
函数用于接收数据。 如下所示: char buf[1024];//接收信息的最大长度,记位buf memset(buf, 1...
服务端与多客户端照片的传输,
recv
,
send
服务器一次只能处理
一个
连接请求,只有将对应客户端的请求处理完成然后与之断开连接再与下
一个
客户端建立连接。服务器可以同时处理多个客户端的请求,就是并发服务器。
recv
/
send
函数专门用来进行网络通信的函数。
TCP
粘包:
tcp
的数据包边界不明显。 遍历每个字节寻找消息的格式头解析;将每个客户端的请求都创建对应
线程
去处理。 保证完整接收期望的数据。
通信技术
4,394
社区成员
28,906
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章