社区
C#
帖子详情
Socket类的Send和Receive函数
laserman
2003-08-18 05:40:51
Receive的返回值表示收到的字节数,那么当它返回0的时候表示什么意思?
如果表示收到了长度为0的信息(无内容),那么,为什么我用Send函数发送0字节信息的时候总是收不到?
...全文
94
5
打赏
收藏
Socket类的Send和Receive函数
Receive的返回值表示收到的字节数,那么当它返回0的时候表示什么意思? 如果表示收到了长度为0的信息(无内容),那么,为什么我用Send函数发送0字节信息的时候总是收不到?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
calmzeal
2003-08-19
打赏
举报
回复
up
laserman
2003-08-19
打赏
举报
回复
to snof(雪狼):
谢谢,原来服务器端Shutdown,这样收到的字节数就是0,原来没用过这个函数,所以在机器上模拟不出来。
apower511
2003-08-19
打赏
举报
回复
友情赠送一段代码:
SOCKET sckClient = INVALID_SOCKET;
SOCKET sckServer = INVALID_SOCKET;
char *chData = new char[MAX_DATA + 1];
while(1)
{
sckServer = socket(AF_INET, SOCK_STREAM, 0);
if(sckServer == INVALID_SOCKET)
{
Sleep(500);
continue ;
}
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT_SERVER);
addr.sin_addr.s_addr = INADDR_ANY;
bind(sckServer, (sockaddr*)&addr, sizeof(addr))
listen(sckServer, SOMAXCONN)
int naddrlen = sizeof(addr);
sckClient = accept(sckServer, (sockaddr *)&addr, &naddrlen);
while(1) // 处理从客户端收到的数据
{
memset(chData, 0, MAX_DATA + 1);
int nLen = recv(sckClient, chData, MAX_DATA, 0);
if(nLen > 0)
{
if(S_CLOSESERVER == chData[0])
goto CLOSESERVER;
//这里可以添加你要怎么处理受到的数据,例如显示:
chData[0] = S_TEMP;
send(sckClient, chData, 1, 0);
continue ;
}
break ;//出错了,则重新创建服务器端
}
DF_CloseSocket(sckClient);
DF_CloseSocket(sckServer);
CLOSESERVER ://关闭套接字
if(chData != NULL)
{
delete []chData;
}
closesocket(sckClient);
closesocket(sckServer);
apower511
2003-08-19
打赏
举报
回复
发送0字节信息干什么?
一般是在一个while(1)里面看Receive的返回值,当>0说明收到信息,
你就可以处理受到的信息了~
雪狼1234567
2003-08-18
打赏
举报
回复
看一下这篇文章及源码,讲得太详细啦:
http://www.c-sharpcorner.com/Network/NetworkProgramPart2RVS.asp
Socket
类
封装 改进版
实现中的几个注意点: 1
Socket
类
几个成员
函数
的访问权限为protected 使
Socket
类
可以进行继承 但不允许私自使用; 2 TCPClient
类
的
send
re
ceive
方法使用了著名的writen readn 来源UNP 实现 解决了TCP的粘包问题 3 ...
MFC
socket
编程,网络传输(服务器端,客户端)
用
socket
套接字实现了文件传输,尤其适用于初学者学习
socket
进行创建,绑定,监听,接收等过程,服务器端和客户端进行通信的整个流程,MFC界面简单。发送端有,create ,listen,accept,
send
等
函数
;接收端有create...
Python网络编程(
socket
)
网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?答案就是
socket
.
socket
翻译为套接字,它本质就是在应用层和传输层(TCP/IP协议族通信)之间的一个抽象层,是一组接口,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。该课程包括OS模型,TCP/IP协议,
socket
函数
等Python网络编程基础知识。
C# 网络编程之使用
Socket
类
Send
、Re
ceive
方法的同步通讯
经过几天学习,终于解决了再C#网络编程中使用
Socket
类
Send
和Re
ceive
方法开发的客户端和服务端的同步通讯程序;实现了又客户端想服务器发送消息的界面程序.主要使用的方法是: 1.
Socket
套接字编程的知识,通过IP...
Socket
中
send
()
函数
和rece()
函数
详解
int
send
(
SOCKET
s, const char FAR *buf. int len,int flags); 不论是客户还是服务器应用程序都是用
send
函数
来向TCP连接的另一端发送数据。 客户程序一般使用
send
函数
向服务器发送请求,而服务器则通常使用
send
...
C#
110,537
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章