首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计网 | C语言Socket编程获取本机IP及指定域名IP

实验目的和要求 使用Winsock提供的API函数 ,利用Socket获得本机IP和本机名称。 使用Winsock提供的API函数 ,利用Socket获得百度域名IP 。...这样做相当于编译命令变成了gcc socket_exp.c -o socket_exp.exe -lwsock32 ,其中socket_exp是我的文件名。...官方域名代表某一主页,但实际上一些著名公司的域名并未用官方域名注册。 h_aliases:别名,可以通过多个域名访问同一主机。同一 IP 地址可以绑定多个域名,因此除了当前域名还可以指定其他域名。...h_length:保存IP地址长度。IPv4 的长度为 4 个字节,IPv6 的长度为 16 个字节。 h_addr_list:这是最重要的成员。通过该成员以整数形式保存域名对应的 IP 地址。...对于用户较多的服务器,可能会分配多个 IP 地址给同一域名,利用多个服务器进行均衡负载。

3.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

没有IP和端口号,可以进行socket通信吗?

在使用socket通信时,无论是本机内部通信,还是两台机器通信,也无论是TCP的方式,还是UDP的方式,一般都要指定IP和端口号。...在Linux开发中,如果是同一台设备内部通信,也可以不需要IP和端口号,这就是Unix域socket通信,它实际上是通过文件的方式实现通信,从而不再需要IP和端口号。...1 Unix域socket基础知识 在使用IP和端口号的socket通信中,会用到sockaddr和sockaddr_in结构体,两个结构体一样大,都是16个字节,而且都有family属性,不同的是:...2 编程测试 本篇的测试实例要实现的功能是Unix域socket的客户端与服务端实现通信,先实现一对一的通信功能,客户端和服务端分别使用一个线程,两者通信成功后,每隔一段时间客户端向服务端发送一条消息。...3 总结 本篇介绍了Unix域的Socket通信实例,包括UDP和TCP两种方式,使用流程总结下来如下图: 使用Unix域的Socket通信(同一台机器内部通信),不再需要IP和端口号,只需要指定一个文件即可实现

1.6K20

Socket 通信原理

而我们建立连接就像把插头插在这个插座上,创建一个Socket实例开始监听后,这个电话插座就时刻监听着消息的传入,谁拨通我这个“IP地址和端口”,我就接通谁。...实际上,Socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口,供应用层调用实现进程在网络中的通信。...另外我们经常说到的Socket所在位置如下图: ? Socket通信过程 Socket保证了不同计算机之间的通信,也就是网络通信。对于网站,通信模型是服务器与客户端之间的通信。...配置Socket,绑定IP地址和端口号 except socket.error as e: print('Bind Failed...第一个元素conn是新的Socket对象,服务器必须通过它与客户通信;第二个元素addr是客户的IP地址及端口。

6.9K91

netty通信框架(socket通信详解)

Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。   “快速”和“简单”并不用产生维护性或性能上的问题。...也可能把多个小包封装成一个大数据一起发送,这就是所谓的tcp粘包,拆包问题 ###产生原因 应用程序write写入的字节大小大于套接口发送缓冲区的大小 进行MSS大小的tcp分段 以太网帧的payload大于MTU进行IP...; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.codec.LineBasedFrameDecoder...private void reConnect() { new Thread(this::connect); } } package com.example.zwang.myapplication.socket...SocketTcp.getInstance().connect(), 5, TimeUnit.SECONDS); super.channelInactive(ctx); Log.v("WZ", "重新连接socket

1.8K40

Socket通信篇(一)

前言 IP地址的作用是唯一识别网络中的主机,IP位于网络层 协议+端口号:可以唯一识别主机中的应用程序(进程) 这样,利用三元组(IP地址,协议、端口)就可以标识网络的进程,网络中的进程通信就可以利用这个标识与其他进程进通信...套接字Socket的来龙去脉: socket即是一种特殊的文件,一些socket函数就是对其进行的操作(打开、读/写IO、关闭),这些函数我们在后面进行介绍。...8.1 TCP/IP 8.1.1 TCP通信简介 TCP/IP:传输控制协议/网络协议是指能在多个不同网络间实现信息传输的协议簇。...这是因为TCP是可以多路复用的,有两个及以上套接字Socket,其中最基本的一个套接字是由socket()返回的用于监听(Listen)和接受(accept)客户端的连接请求,这个套接字不可以与客户端之间发送和接收数据...这个新指的是该套接字与socket()返回的用于监听和接受客户端连接请求的套接字不是一个套接字,与本次客户端的通信是在这个新的套接字上发送和接收数据来完成的。

1.1K10

c语言socket通信

什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。...要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。...Socket配置 两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。...IP地址,然后创建一个socket,调用connect函数与服务器建立连接,连接成功之后接收从服务器发送过来的数据,最后关闭socket。...函数gethostbyname()是完成域名转换的。由于IP地址难以记忆和读写,所以为了方便,人们常常用域名来表示主机,这就需要进行域名IP地址的转换。

1K30

Python-Socket通信

很久之前Python就业班就已经学过了,昨天回头看朋友的面经发现他面试的过程被问到这方便的问题,回头想想记忆有点模糊了,重写一篇博客重点复习下Socket通信。...什么是socket 创建socket 在Python中使用socket模块的函数socket就可以完成 socket.socket(AddressFamily,Type) 创建TCP Socket 创建...socket s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) UDP网络程序 准备一台虚拟机和本机,进行通信。...本机Mac ip:10.211.55.2 虚拟机Centos ip:10.211.55.23 UDP发送数据 from socket import * from django.dispatch import...地址和端口号,ip一般不写,表示本机的任何一个ip udpSocket.bind(bindAddr) ip一般不写,表示任何一个ip都是可以的 from socket import * #1、创建套接字

45710
领券