板凳——————————————————c++(98)

#include <sys/socket.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <assert.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/time.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include

#define BUFFER_SIZE 512
Linux C与C++ 一线开发p509
int main(int argc, char* argv[]){
int sock1 = socket(PF_INET, SOCK_STREAM, 0);
assert(sock1 >= 0);
int old_option1 = fcntl(sock1, F_GETFL);
if(0 ==(old_option1 & O_NONBLOCK))
printf(“now socket is BLOCK mode\n”);
else
printf(“now socket is NOT BLOCK mode\n”);

Linux C与C++ 一线开发p510
char ip[] = “192.168.0.188”;
int port = 13334;

struct sockaddr_in server_address;
bzero(&server_address, sizeof(server_address));
server_address.sin_family = AF_INET;
inet_pton (AF_INET, ip, &server_address.sin_addr);
server_address.sin_port = htons(port);

int sock2 = socket(PF_INET, SOCK_STREAM, 0);
assert(sock2 >= 0);

int old_option = fcntl(sock2, F_GETFL);
printf("noblock: %d\n", old_option & O_NONBLOCK);

struct timeval tv1, tv2;
gettimeofday(&tv1, NULL);

int ret = connect (sock2, (struct sockaddr *) & server_address, sizeof(server_address));
printf("connect ret code is : %d\n", ret);
if(ret == 0){
     printf("connect ret code is : %d\n", ret);
     if( ret == 0){
          printf("call getsockname ...\n");
          struct sockaddr_in local_address;
          socklen_t length;
          int ret = getpeername(sock2, (struct sockaddr*) & local_address, &length);
          assert(ret == 0);
          char local[INET_ADDRSTRLEN];
          printf("local with ip : %s and port: %d\n",
 inet_ntop(AF_INET, &local_address.sin_addr, local, INET_ADDRSTRLEN), ntohs(local_address.sin_port));
          
          char buffer[BUFFER_SIZE];
          memset(buffer, 'a', BUFFER_SIZE);
          send(sock2, buffer, BUFFER_SIZE, 0);
     }
     else if (ret == -1){
          gettimeofday(&tv2, NULL);
          suseconds_t msec = tv2.tv_usec - tv1.tv_usec;
          time_t sec = tv2.tv_sec - tv1.tv_sec;
          printf("time used:%d.%fs\n", sec, (double)msec / 1000000 );
          
          printf("connect failed...\n");
          if(errno == EINPROGRESS){
               printf("unblock mode ret code...\n");
          }
     }
     else{
          printf("ret code is: %d\n", ret);
     }
     close (sock2);
}	
     return 0; 

}
/*
wannian07@wannian07-PC:~$ g++ -std=c++17 -o c13 c13.cpp
wannian07@wannian07-PC:~$ ./c13
now socket is BLOCK mode

noblock: 0
connect ret code is : -1

*/

内容概要:《中国HR+HER2-早期乳腺癌患者诊疗需求调研白皮书》聚焦于中国早期HR+/HER2-乳腺癌患者的诊疗现状和需求。白皮书通过定量调研,揭示了患者在确诊、复发风险评估、术后辅助治疗及长期管理等各阶段面临的挑战,包括对新药的期待、信息需求及信息渠道偏好。调研显示,患者对新型辅助治疗方案的疗效和生活质量提升寄予厚望,但也存在对不良反应的担忧。此外,患者在理解诊断报告、复发风险认知及获取权威信息方面存在诸多障碍。白皮书呼吁加强患者教育、优化医患沟通、提高新药可及性,以改善患者预后和生活质量。 适合人群:早期HR+/HER2-乳腺癌患者、家属、临床医生及相关医疗工作者。 使用场景及目标:①帮助患者更好地理解诊断结果和后续治疗方案;②为临床医生提供患者需求和挑战的真实数据,优化诊疗路径;③推动社会各界关注和支持早期乳腺癌患者的教育和管理,助力患者早日康复,重获高质量生活。 其他说明:白皮书强调了早期乳腺癌患者在诊疗旅程中面临的多重障碍,包括早期筛查覆盖率不足、复发风险认知偏差及医患沟通壁垒。为应对这些挑战,白皮书提出了多项改进建议,如加强乳腺健康教育、优化诊断结果沟通方式、提升患者对复发风险的认知、强化不良反应管理及构建权威信息平台等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值