关于sendto的一个小疑点

关于sendto的一个小问题
当使用sendto发送数据时,是使用哪个端口把这个为数据发出去的呢?是随机产生的一个端口?如果想固定这个端口是不是将这个套接字和这个端口帮定一下就OK了呢?还有,发送这个数据后如何来接受从服务器返回的信息呢?(假定此程序运行在一个局域网中的一台计算机上)
SOCKADDR_IN     AddrFrom;
AddrFrom.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
AddrFrom.sin_family=AF_INET;
AddrFrom.sin_port=htons(1101);
bind(m_sockclient,(SOCKADDR*)&AddrFrom,sizeof(SOCKADDR));//m_sockclient在前面已经定义
....//是中间代码省略
sendto(m_sockclient, "N我要登陆 ",strlen( "NN我要登陆 ")+1,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//问题在这


------解决方案--------------------
接收的时候recvfrom能同时得到数据和发送方的IP,
服务器据此可以知道把应答发送给谁.