我的ip地址只能在内部使用
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <winsock2.h>
main()
{
WSADATA wsaData;
int err=WSAStartup(MAKEWORD(2,2),&wsaData);
SOCKET sock=socket(AF_INET,SOCK_STREAM,0);//*初始化
struct sockaddr_in serv_addr2;
serv_addr2.sin_family=2;//*IPv4地址
serv_addr2.sin_addr.s_addr=inet_addr("192.168.2.2");//*ip
serv_addr2.sin_port=htons(2305);//*端口号
bind(sock,(struct sockaddr*)&serv_addr2,sizeof(serv_addr2));
int f=listen(sock,200);//*监听
int len=sizeof(struct sockaddr_in);
SOCKADDR clntaddr;
SOCKET data;
data=accept(sock,&clntaddr,&len);//*接收请求
char *data2;
data2=(char*)malloc(sizeof(char)*1024*1024);
unsigned long long int length=0;
while(length<1024*1024)
{
data2[length]='a';
length++;
}
data2[length]='\0';
int j;
send(data,data2,1024*1024,0);//*发送信息
closesocket(sock);
closesocket(data);
free(data2);
//*关闭套接字
WSACleanup();
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <winsock2.h>
main()
{
char ip[30];
WSADATA wsaData;
int err=WSAStartup(MAKEWORD(1,0),&wsaData);
SOCKET sock=socket(AF_INET,SOCK_STREAM,0);//*初始化
struct sockaddr_in serv_addr;
serv_addr.sin_family=AF_INET;//*IPv4地址
serv_addr.sin_addr.s_addr=inet_addr("192.168.2.2");//*ip
serv_addr.sin_port=htons(2305);//*端口号
connect(sock,(SOCKADDR*)&serv_addr,sizeof(serv_addr));
system("pause");
// listen(sock,200);
char *data;
data=(char*)malloc(sizeof(char)*1024*1024);
data[1024*1024]='\0';
int j;
recv(sock,data,1024*1024,0);
printf("%s",data);
free(data);
closesocket(sock);//*关闭套接字
WSACleanup();
system("pause");
return 0;
}
应该怎么修改ip,才能在保证网络正常通信的同时又能将信息通过自己编的程序发送到互联网?