while (1)
{
char ss[100];
recv(aSock,ss,strlen(ss)+1,0);
printf("---->%s\n",ss);
char yy[100];
sprintf(yy,"client-->",inet_ntoa(addr_client.sin_addr));
send(aSock,yy,strlen(yy)+1,0);
}客户端部分代码,为什么sprintf(yy,"client-->",inet_ntoa(addr_client.sin_addr));返回给服务端的ip为null值?
{
char ss[100];
recv(aSock,ss,strlen(ss)+1,0);
printf("---->%s\n",ss);
char yy[100];
sprintf(yy,"client-->",inet_ntoa(addr_client.sin_addr));
send(aSock,yy,strlen(yy)+1,0);
}客户端部分代码,为什么sprintf(yy,"client-->",inet_ntoa(addr_client.sin_addr));返回给服务端的ip为null值?
--
strlen(ss)的返回值是不确定的sprintf(yy,"client-->",inet_ntoa(addr_client.sin_addr));
addr_client在哪定义的?
sprintf(yy,"client-->%s",inet_ntoa(addr_client.sin_addr));
#include <winsock2.h>void main()
{
WSADATA aWsadata;
WORD aWord;
aWord=MAKEWORD(1,1);
int err;
err=WSAStartup(aWord,&aWsadata); if(err!=0)
{
printf("link err!");
return;
}
if(LOBYTE(aWsadata.wVersion)!=1 || HIBYTE(aWsadata.wVersion!=1))
{
printf("ver err");
return;
} SOCKET aSock=socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN addr_client;
addr_client.sin_family=AF_INET;
addr_client.sin_port=htons(60000);
addr_client.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
int conn_err;
conn_err=connect(aSock,(SOCKADDR*)&addr_client,sizeof(addr_client));
if (conn_err!=0)
{
printf("link err");
return;
}
while (1)
{
char ss[100];
recv(aSock,ss,strlen(ss)+1,0);
printf("---->%s\n",ss);
char yy[100];
sprintf(yy,"client-->",inet_ntoa(addr_client.sin_addr));
send(aSock,yy,strlen(yy)+1,0);
}
closesocket(aSock);
}