关于使用套接字进行客户端服务器通信,我有两个问题。假设在两种情况下只有一个客户。
1)我知道我们可以使用单个套接字在客户端和服务器之间发送和接收数据。但是在那种情况下,当服务器和客户端都尝试同时发送数据时会发生什么呢?
2)哪个是最好的模型?
i)使用单线程,单套接字进行发送和接收
ii)使用2个线程(一个用于发送,一个用于接收),单个套接字
iii)使用2个套接字和2个线程,一个用于发送,一个用于接收。
最佳答案
对于第一个问题,没有什么特别的事情发生。 TCP是全双工的,连接的双方都可以同时发送。
并且由于同时发送/接收没有问题,因此第二个问题中的第一个选择将是最简单的。
关于c - 客户端和服务器想同时通话时是否需要多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933247/