我提几个很菜的问题:在winsocket中
1。
如果用TCP协议,则soket 只能是SOCK_STREAM型且基于连接的吗?
如果用UDP协议,则socket只能用SOCK_DGRAM 型且是非连接的吗?
2。
如果是用无连接建立服务器,则服务器如何知道客户端IP(不可能的)以供recvFrom()
使用?
3。我感觉基于无连接的socket,没有服务器和客户端之分似的。

解决方案 »

  1.   

    1。是的,你说的对。
    2。你理解错了,recvfrom不是从固定IP接收数据,而是谁来要谁,来者的IP、PORT等
    信息被写入为recvfrom提供的指针指向的变量里。也就是说,为recvfrom提供的参数是
    被填充的。
    3。我不是这样理解的,是不是CS结构要看你的程序是怎么设计的,而不是看用的什么通信
    协议。CS程序可以用TCP来做,也可以用UDP来做。当然,如果你有充分的能力,并且不想
    用TCP/IP,也可以自己规定自己的协议。我在开玩笑:)
      

  2.   

    你的意思我明白了,我说的仅仅是对于Socket对象而言。