首页 > TCP通信时Socket两端的模式能不能不一样?

TCP通信时Socket两端的模式能不能不一样?

比如在CS模型中,能不能C端为阻塞模式,用Stream读写,而S端为非阻塞模式,用Buffer读写?


socket就是一个文件描述符,你可以用阻塞型api去读写,也可以把它转为非阻塞型进行读写,它不关TCP事,也不关是否是客户端还是服务器的事,如:
对一个可读写的socket, 通常用read, write函数默认就是阻塞的,可以用ioctl或fcntl把socket变成NON_BLOCK,这时read/write就是马上返回的,当然也可以在不变成NON_BLOCK的情况下,用select函数实现非阻塞+超时读。
把读出来的data存放在一个char []里面,就是buffer了,buffer依情况而定,満了就回调送给上层,这是网络编程知识,不是socket本身的限制,建议你系统的了解和学习一下网络编程。

【热门文章】
【热门文章】