分配IP地址和端口号 IP是Internet Protocol(网络协议)的简写,是为收发网络数据而分配给计算机的值.端口号并非赋予计算机的值,而是为区分程序中创建的套接字而分配给套接字的序号 网络地址(Internet Address) 为使计算机连接到网络并收发数据,必须向其分配IP地址.IP地址分为两类: IPv4(Internet Protocol version 4):4字节地址族 IPv6(Internet Protocol version 6):16字节地址族 IPv4和IPv6的…
C/C++网络编程2中介绍了套接字,这一节介绍给套接字分配ip和端口号.ip用于标识一台主机,端口号用于标识一个主机中的一个应用程序,端口号占16位,0到65535,其中0到1023是知名端口号. 表示IPv4的结构体: struct sockaddr_in { sa_family_t sin_family; // 地址族 uint16_t sin_port; // 端口号 struct in_addr sin_addr; // 32位ip地址 ]; // 不使用 }; struct in_ad…
目录 前言 3. 地址族与数据序列 3.1 分配给套接字的 IP 地址与端口号 3.2 参数 IP 地址 3.2.1 IPV4 地址的结构体 3.2.2 地址族(Address Family) 3.2.3 端口号 3.2.4 IP 地址 3.2.5 3.3 实例参考 3.4 网络字节序 3.4.1 字节序 3.4.2 字节序转换相关函数 3.5 字符串转为网络字节序的整数形 3.5.1 inet_addr() 3.5.2 inet_aton() 3.5.3 inet_ntoa() 3.6 网络地…
上一篇文章介绍了套接字的创建过程,这篇文章主要讨论分配给套接字的IP地址和端口号的相关知识. IP地址和端口号 IP(Internet Protocol,网络协议)地址是收发网络数据而分配给计算机的值,端口号则并非赋予计算机的值,而是为了区分计算机程序所创建的不同套接字而分配给套接字的编号. 网络地址 IP地址分为如下两类,其中,IPv6是为了应对2010年前后IP地址耗尽的问题而提出的新标准.不过,目前普遍使用的主要还是IPv4,IPv6的普及可能还需要一段时间. IPv4(Internet…
使用URLConnection类获取服务器的数据 抽象类URLConnection表示一个指向指定URL资源的活动连接,它是java协议处理器机制的一部分. URL对象的openConnection()方法就是调用了URLStreamHandler的openConnection()方法. 如有疑问请参考:JAVA网络编程[第三版], 如下图: 怎样获取服务器输出的数据呢?代码如下: import java.io.IOException; import java.io.InputStream; i…
(1) 通用socket地址 socket网络编程接口中表示socket地址的是结构体sockaddr,其定义如下: #include<bits/socket.h> struct sockaddr { sa_family_t sa_family; char sa_data[14]; } (2)新的通用socket地址结构体 #include<bits/socket.h> struct sockaddr_storage { sa_family_t sa_family; unsigne…
1)IP地址 用来标志网络中的一个通信实体的地址.通信实体可以是计算机,路由器等. 2)IP地址分类 IPV4:32位地址,以点分十进制表示,如192.168.0.1 IPV6:128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984 3)特殊的IP地址 127.0.0.1 本机地址 192.168.0.0--192.168.255.255私有地址,属于非注册地址,专…
package com.zhangxueliang.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; /** * 使用UDP协议发送接收数据 * @author zxlt * */ public class SendDemo { public static void main(String[] a…
InetAddress类,此类表示Internet协议(IP)地址.具体使用方法查看文档:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetAddress.html InetSocketAddress,此类实现IP套接字地址(IP地址+端口号)它也可以是一对(主机名+端口号),在这种情况下,将尝试解析主机名. 如果解析失败,则说该地址未解析但仍可在某些情况下使用,例如通过代理连接. URL:http…
1.设置地址复用(还可以设置端口复用): int enable=1; if (setsockopt(socketfd,SOL_SOCKET,SO_REUSEADDR,&iEnable,sizeof(enable)) < 0) { close(m_Socketfd); } if (bind(socketfd,(struct sockaddr *)&sockAddr , sizeof(sockAddr)) >= 0) { break; } 2.查看端口占用:netstat -apn…