余烨彬:vc++winsock网络编程问题
沈楠的回答:
recvfrom()的用法要清楚. recvfrom()不同于recv(...),两者用法有区别.recv(...)需要在服务器端进行侦听,然后接收特定的客户端的连接,最后用recv来接收客户端的数据.如果没有客户端的连接和客户端发送的数据,recv是接受不到任何数据的. 而recvfrom()则大不相同,它只要你建立起一个服务端,也不用和客户端建立任何连接关系,就可以直接接受数据了.他不管是哪个客户端发送的数据报都通吃.因为recvfrom自己都不知道接收的是什么,根本不是char*类型的,而你又要把它显示成char*类型的,所以你的程序就显示一堆乱码. recvfrom一般用在UDP协议下的通讯,也就是需要你在接受数据之前临时决定准备接受谁的数据. recv则多用于TCP/IP通讯,通讯的时候客户端和服务端已经预先握手了. recvfrom是一个很好用的黑客用来侦探局域网数据报的函数.
种翠翠的回答:
recvfrom()的用法要清楚. recvfrom()不同于recv(...),两者用法有区别.recv(...)需要在服务器端进行侦听,然后接收特定的客户端的连接,最后用recv来接收客户端的数据.如果没有客户端的连接和客户端发送的数据,recv是接受不到任何数据的. 而recvfrom()则大不相同,它只要你建立起一个服务端,也不用和客户端建立任何连接关系,就可以直接接受数据了.他不管是哪个客户端发送的数据报都通吃.因为recvfrom自己都不知道接收的是什么,根本不是char*类型的,而你又要把它显示成char*类型的,所以你的程序就显示一堆乱码. recvfrom一般用在UDP协议下的通讯,也就是需要你在接受数据之前临时决定准备接受谁的数据. recv则多用于TCP/IP通讯,通讯的时候客户端和服务端已经预先握手了. recvfrom是一个很好用的黑客用来侦探局域网数据报的函数.
长毛兔的回答:
这么长的代码谁会有空去看,你白问了