关于第一个问题:
服务器:

程序代码:
sock_listen.sin_port=htons(80);
while(1)
{
listen(sock_listen)
{
SOCKET sock_tmp,sock_client;
sock_tmp=accept(sock_listen);
{
sock_client=(AF_INET,SOCK_STREAM,0);
Create_Thread(sock_client);//单独开一个线程监听该端口,和客户端交互数据
Port=GetPort(sock_client);//这个就是要问的函数
send(sock_tmp,Port,sizeof(Port),0);
}
}
}
关于第二个问题:
数据流和数据包这个问题,我还没有理解清楚。但是现在我是这么做的:
服务器:

程序代码:
while(1)
{
memset(data,0,sizeof(data));
ReadFile(hFile,data,1024,&len,NULL);
send(sock,data,1024,0);
if(len<1024)
{
send(sock,"over",1024,0);
break;
}
}
客户端:

程序代码:
while(1)
{
ret=recv(sock,data,1024,0);
if(strcmp(data,"over")==0)
break;
WriteFile(hFile,data,1024,&len,NULL);
}
不知道有没有说清楚。