Math Dash 2022-03-02 15:41 采纳率: 75%
浏览 92
已结题

C语言网络编程,如何更改自己编的程序的本地ip?

我的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,才能在保证网络正常通信的同时又能将信息通过自己编的程序发送到互联网?

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 3月10日
      • 已采纳回答 3月2日
      • 修改了问题 3月2日
      • 创建了问题 3月2日

      悬赏问题

      • ¥20 苹果app名字侵权商标,我投诉了,但是苹果一直没回怎么办
      • ¥15 Android studio运行不成功总是报错
      • ¥15 pycharm 加载软件包列表时出错connect timed out
      • ¥15 和您碰到了同一个问题
      • ¥15 如何在微信支付V3PHP版请求中添加header?
      • ¥15 在数字信号处理中用MATLAB显示波形。
      • ¥15 keil MDK软件进行仿真调试的局限
      • ¥15 关于gateway产生临时文件夹的问题
      • ¥15 Java Broken Pipe以及OOM
      • ¥20 请问有没有RTL8211FS的参考原理图