linux套接字编程服务器ip地址怎么写

linux套接字编程服务器ip地址怎么写,第1张

Linux套接字编程里面的服务器IP地址,需要用inet_addr函数将文本表示的IP地址转换为Linux套接字编程要求的格式,也就是IP地址结构in_addr。

in_addr结构通常赋值给sockaddr_in结构的sin_addr成员,而sockaddr_in结构需要赋值给Linux套接字编程中connect调用和bind调用的第二个参数。还是上代码吧:

struct sockaddr_in address

address.sin_family=AF_INET

address.sin_port=htons(8080) // 端口号

address.sin_addr.s_addr=inet_addr("127.0.0.1")

int len=sizeof(address)

connect(sockfd, (struct sockaddr *)&address, len)

#!/bin/bash

################################变量定义################################

nameDevice=eth0

ipAdddress=192.168.4.110

prefix=255.255.255.0

netMask=255.255.255.0

gateway=192.168.4.1

dns1=8.8.8.8

dns2=192.168.4.0

################################函数模块################################

##设置NetworkManager服务

function SetNetworkManagerDisable(){

  systemctl stop NetworkManager &&systemctl disable NetworkManager &&echo "NetworkManager is stop and disable" &&return 0 || return 1

}

##设置NetworkManager服务

function SetNetworkEnable(){

  systemctl restart network &&systemctl enable network &&echo "network is start and enable" &&return 0 || return 1

}

##查看服务器第一个网卡名称

function FindFirstNICName(){

  ifconfig|head -n 1|cut -d \: -f 1 &&[ $? == 0 ] &&nameDevice=`ifconfig|head -n 1|cut -d \: -f 1` &&return 0 || return 1

}

##设置服务器网卡IP地址

function SetNICFile(){

  cat >/etc/sysconfig/network-scripts/ifcfg-$nameDevice <<EOF

TYPE="Ethernet"

BOOTPROTO="none"

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=$nameDevice

DEVICE=$nameDevice

ONBOOT=yes

IPADDR=$ipAdddress

PREFIX=$prefix

NETMASK=$netMask

GATEWAY=$gateway

DNS1=$dns1

DNS2=$dns2

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

EOF

}

##消除变量

function UnsetVariate(){

  unset nameDevice

  unset ipAdddress

  unset prefix

  unset netMask

  unset gateway

  unset dns1

  unset dns2

}

################################程序流程################################

##设置网络服务为network

FindFirstNICName

SetNICFile

SetNetworkEnable

SetNetworkManagerDisable

UnsetVariate


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6246183.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-19
下一篇2023-03-19

发表评论

登录后才能评论

评论列表(0条)

    保存