c s架构-刚接触c/s架构,新手求教~TX

问题描述

刚接触c/s架构,新手求教~TX

int bytesSent, left, idx=0;
int bytesRecv = SOCKET_ERROR;
char sendbuf[DEFAULT_BUFFER] = "";
char recvbuf[DEFAULT_BUFFER] = "";

while(1)
{
    printf("[The message you want to send to the server]:");
    fgets(sendbuf, DEFAULT_BUFFER, stdin);
    left = strlen(sendbuf);
    while(left > 0)
    {
        bytesSent = send( m_socket, &sendbuf[idx], left, 0 );

//printf("%s was sentn", sendbuf);
if(bytesSent == 0)
return ;
if(bytesSent == SOCKET_ERROR)
{
printf("send failed:%d", WSAGetLastError());
return ;
}
left -= bytesSent;
idx += bytesSent;

    }

    idx = 0;

    while( bytesRecv == SOCKET_ERROR ) {
        bytesRecv = recv( m_socket, recvbuf, DEFAULT_BUFFER, 0 );

//printf("%s is receivedn", recvbuf);
if ( bytesRecv == 0 || bytesRecv == WSAECONNRESET ) {
printf( "Connection Closed.n");
return;
}
if (bytesRecv < 0)
return;
printf( "[The returned info from server]: %sn", recvbuf);
}
bytesRecv = SOCKET_ERROR;
memset(sendbuf, 0, DEFAULT_BUFFER);
memset(recvbuf,0, DEFAULT_BUFFER);

}

发送数据的地方使用了一个while(left > 0)的循环,但是我想知道当left>0成立的时候,服务器端有消息发送过来,那么客户端是怎么运作的~谢谢

时间: 2024-10-06 04:34:14

c s架构-刚接触c/s架构,新手求教~TX的相关文章

.NET应用架构设计—重新认识分层架构(现代企业级应用分层架构核心设计要素)

阅读目录: 1.背景介绍 2.简要回顾下传统三层架构 3.企业级应用分层架构(现代分层架构的基本演变过程) 3.1.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露出来) 3.2.应用层中的应用控制器模式(通过控制器模式对象化应用层的职责) 3.3.业务层中的命令模式(事务脚本模式的设计模式运用,很好的隔离静态数据) 4.服务层作为SOA契约公布后DTO与业务层的DomainModel共用基本的原子类型 5.两种独立业务层职责设计方法(可以根据具体业务要求来搭

数据库表-刚接触数据库,oracle的制表

问题描述 刚接触数据库,oracle的制表 比如姓名 张三 李四,学号 1 2,用数据库代码怎么写啊.还请各位赐教啊. 解决方案 create table student( id int primary key name varchar2 ); insert into student values(1张三""); insert into student values(2李四""); commit: select * from student; 解决方案二: 给你一个

pb9刚接触,请问这段代码要怎样操作???望大神指点

问题描述 pb9刚接触,请问这段代码要怎样操作???望大神指点 alter table tbw_wh_info add c_wh_type varchar NULL GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库类型(分仓,总仓)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'tbw_wh

求教大神,刚接触smarty,出现内容重复输出情况

问题描述 求教大神,刚接触smarty,出现内容重复输出情况 本人在使用smarty时,出现内容重复输出情况!代码截图.结果截图.编译文件截图.缓存文件截图如下,还请大神赐教!!!

文件和 流-刚接触IO流和文件操作有许多不懂,请大神们来教教这些定义是什么意思

问题描述 刚接触IO流和文件操作有许多不懂,请大神们来教教这些定义是什么意思 File f1 = new File(dir, name);//什么意思,不懂啊. FileOutputStream out = new FileOutputStream(path);//什么意思,不懂啊. FileInputStream in = new FileInputStream(path);//什么意思,不懂啊. FileOutputStream fout = new FileOutputStream(xxx

qgis 刚接触这方面,还不是很懂。做热力图方面的,求大神解答

问题描述 qgis 刚接触这方面,还不是很懂.做热力图方面的,求大神解答 错误提示是Traceback (most recent call last): File ""C:/PROGRA~2/QGISES~1/apps/qgis/./python/pluginsGdalToolstoolswidgetPluginBase.py"" line 88 in onFinished self.base.onFinished(exitCode status) File &qu

azure-请教一下,我在Azure上创建映像时报错。有哪位遇到到过,小弟刚接触Azure不熟悉。

问题描述 请教一下,我在Azure上创建映像时报错.有哪位遇到到过,小弟刚接触Azure不熟悉. 解决方案 您好, 请问你是怎样上传你的vhd文件的? 根据你提供的错误消息,请尝试使用Add-AzureVMImage PowerShell cmdlet来替代Windows Azure管理界面来添加图像: Add-AzureVMImage -ImageName -MediaLocation<图像所在的物理blob page的位置> -OS https://msdn.microsoft.com/e

刚接触pb9代码中的一些字段不了解是什么含义,望大神们指教

问题描述 刚接触pb9代码中的一些字段不了解是什么含义,望大神们指教 string ls_userid ulong ul_size = 300 is_currentdirectory = fill(char(0),300) GetCurrentDirectoryA(ul_size,is_currentdirectory) is_userinifile = is_currentdirectory+"enjoy.ini" if Len (is_userinifile) > 0 the

c语言-异或运算,搞不懂我随便写的,刚接触C语言

问题描述 异或运算,搞不懂我随便写的,刚接触C语言 #include #include unsigned char Encrypt(unsigned char cKey,unsigned char cCode) { unsigned char sKey; sKey=cKey^cCode; return(sKey); } unsigned char prog8_2() { unsigned char Encrypt(unsigned char cKey,unsigned char cCode);