84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
比如在CS模型中,能不能C端为阻塞模式,用Stream读写,而S端为非阻塞模式,用Buffer读写?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
socket就是一个文件描述符,你可以用阻塞型api去读写,也可以把它转为非阻塞型进行读写,它不关TCP事,也不关是否是客户端还是服务器的事,如:对一个可读写的socket, 通常用read, write函数默认就是阻塞的,可以用ioctl或fcntl把socket变成NON_BLOCK,这时read/write就是马上返回的,当然也可以在不变成NON_BLOCK的情况下,用select函数实现非阻塞+超时读。把读出来的data存放在一个char []里面,就是buffer了,buffer依情况而定,満了就回调送给上层,这是网络编程知识,不是socket本身的限制,建议你系统的了解和学习一下网络编程。
socket就是一个文件描述符,你可以用阻塞型api去读写,也可以把它转为非阻塞型进行读写,它不关TCP事,也不关是否是客户端还是服务器的事,如:
对一个可读写的socket, 通常用read, write函数默认就是阻塞的,可以用ioctl或fcntl把socket变成NON_BLOCK,这时read/write就是马上返回的,当然也可以在不变成NON_BLOCK的情况下,用select函数实现非阻塞+超时读。
把读出来的data存放在一个char []里面,就是buffer了,buffer依情况而定,満了就回调送给上层,这是网络编程知识,不是socket本身的限制,建议你系统的了解和学习一下网络编程。