解决 Network file descriptor is not connected 问题的指南

雷池社区版网络文件描述符未连接错误解析

很多安装雷池社区版的时候,执行安装脚本可能会遇到当前问题,如何解决呢?

含义解释

“Network file descriptor is not connected” 这个错误通常表示在网络编程或者网络相关操作中,文件描述符(File Descriptor)没有正确地连接到网络端点。

文件描述符是操作系统用来标识打开文件或其他输入 / 输出资源(包括网络套接字)的一个整数。在网络通信中,它代表网络套接字。这个错误意味着试图通过一个没有建立有效网络连接的套接字进行通信

可能的原因及解决方法

套接字未正确初始化或连接

原因:在使用套接字进行网络通信时,如在 C 或 Python 等编程语言中,可能忘记了调用连接函数(如connect函数)来建立与远程服务器的连接。例如,在 Python 的套接字编程中,创建了一个套接字对象后,需要使用socket.connect((host, port))来连接到指定的服务器和端口。如果遗漏了这一步,直接尝试发送或接收数据,就可能出现此错误。

解决方法:检查网络操作代码,确保在进行数据传输之前,套接字已经正确地连接到目标服务器。在上述 Python 示例中,确认host和port参数是正确的,并且connect函数被正确调用。

连接意外中断

原因:网络连接可能由于网络故障、远程服务器关闭或者防火墙等原因而意外中断。例如,在一个长时间运行的网络应用中,网络链路出现短暂故障,或者远程服务器由于维护或过载而关闭了连接,而应用程序没有正确地处理这种情况,仍然试图通过原来的文件描述符进行通信。

解决方法:在应用程序中添加适当的错误处理机制来检测连接中断。可以使用心跳机制(例如,定期发送一个小的数据包来检查连接是否仍然有效),并在检测到连接中断时,尝试重新建立连接。对于服务器端关闭连接的情况,客户端应该能够捕获到相关的错误信号(如在 Python 中捕获ConnectionResetError或BrokenPipeError等异常),并根据情况进行重新连接或其他适当的处理。

文件描述符复用错误

原因:在一些复杂的网络编程场景中,可能会涉及到文件描述符的复用,例如使用select、poll或epoll等系统调用。如果在复用过程中出现错误,例如将一个尚未连接的文件描述符错误地加入到复用集合中,并试图通过它进行通信,就可能出现此错误。

解决方法:仔细检查文件描述符复用的代码逻辑。确保只有已经成功连接的文件描述符才被加入到复用集合中,并且在使用复用后的文件描述符进行通信之前,再次确认其连接状态。例如,在使用epoll时,当收到一个事件通知,表示某个文件描述符可读或可写时,应该先检查这个文件描述符是否真的处于有效连接状态,再进行相应的读写操作。

Preloading /system/fonts/Roboto-Regular.ttf 2025-06-11 15:04:36.823 31822-31822 le.maplibredemo com.example.maplibredemo I type=1400 audit(0.0:45210): avc: denied { read } for name="overlay" dev="sda6" ino=4252 scontext=u:r:untrusted_app:s0:c37,c256,c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=dir permissive=1 app=com.example.maplibredemo 2025-06-11 15:04:36.823 31822-31822 le.maplibredemo com.example.maplibredemo I type=1400 audit(0.0:45211): avc: denied { open } for path="/system/product/overlay" dev="sda6" ino=4252 scontext=u:r:untrusted_app:s0:c37,c256,c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=dir permissive=1 app=com.example.maplibredemo 2025-06-11 15:04:36.997 31822-31822 GraphicsEnvironment com.example.maplibredemo V ANGLE Developer option for 'com.example.maplibredemo' set to: 'default' 2025-06-11 15:04:36.997 31822-31822 GraphicsEnvironment com.example.maplibredemo V ANGLE GameManagerService for com.example.maplibredemo: false 2025-06-11 15:04:36.997 31822-31822 GraphicsEnvironment com.example.maplibredemo V Neither updatable production driver nor prerelease driver is supported. 2025-06-11 15:04:37.001 31822-31822 NetworkSecurityConfig com.example.maplibredemo D No Network Security Config specified, using platform default 2025-06-11 15:04:37.002 31822-31822 NetworkSecurityConfig com.example.maplibredemo D No Network Security Config specified, using platform default 2025-06-11 15:04:37.044 31822-31822 AppCompatDelegate com.example.maplibredemo D Checking for metadata for AppLocalesMetadataHolderService : Service not found 2025-06-11 15:04:37.053 31822-31856 libEGL com.example.maplibredemo D loaded /system/lib64/egl/libEGL_emulation.so 2025-06-11 15:04:37.056 31822-31822 RenderThread com.example.maplibredemo I type=1400 audit(0.0:45213): avc: denied { read write } for name="vaddress" dev="tmpfs" ino=520 scontext=u:r:untrusted_app:s0:c37,c256,c512,c768 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1 app=com.example.maplibredemo 2025-06-11 15:04:37.072 31822-31856 le.maplibredem com.example.maplibredemo D Features: 0 0 0 2025-06-11 15:04:37.072 31822-31856 le.maplibredem com.example.maplibredemo E vulkan version is 4202692 2025-06-11 15:04:37.076 31822-31856 libEGL com.example.maplibredemo D loaded /system/lib64/egl/libGLESv1_CM_emulation.so 2025-06-11 15:04:37.056 31822-31822 RenderThread com.example.maplibredemo I type=1400 audit(0.0:45214): avc: denied { open } for path="/dev/vaddress" dev="tmpfs" ino=520 scontext=u:r:untrusted_app:s0:c37,c256,c512,c768 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1 app=com.example.maplibredemo 2025-06-11 15:04:37.086 31822-31856 libEGL com.example.maplibredemo D loaded /system/lib64/egl/libGLESv2_emulation.so 2025-06-11 15:04:37.103 31822-31856 GraphicsEnv com.example.maplibredemo E Failed to get gpu service 2025-06-11 15:04:37.159 31822-31822 le.maplibredem com.example.maplibredemo W Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed) 2025-06-11 15:04:37.160 31822-31822 le.maplibredem com.example.maplibredemo W Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed) 2025-06-11 15:04:37.178 31822-31822 le.maplibredem com.example.maplibredemo W Accessing hidden field Landroid/graphics/Typeface;->sSystemFontMap:Ljava/util/Map; (unsupported, reflection, allowed) 2025-06-11 15:04:37.196 31822-31835 System com.example.maplibredemo W A resource failed to call close. 2025-06-11 15:04:37.270 31822-31854 le.maplibredem com.example.maplibredemo D Features: 0 0 0 2025-06-11 15:04:37.271 31822-31854 le.maplibredem com.example.maplibredemo E vulkan version is 4202692 2025-06-11 15:04:37.273 31822-31854 hw-ProcessState com.example.maplibredemo D Binder ioctl to enable oneway spam detection failed: Invalid argument 2025-06-11 15:04:37.274 31822-31854 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.configstore@1.0::ISurfaceFlingerConfigs instance: default 2025-06-11 15:04:37.275 31822-31854 OpenGLRenderer com.example.maplibredemo W Failed to initialize 101010-2 format, error = EGL_SUCCESS 2025-06-11 15:04:37.276 31822-31871 Mbgl-EGLConfigChooser com.example.maplibredemo I In emulator: false 2025-06-11 15:04:37.278 31822-31871 le.maplibredem com.example.maplibredemo D Features: 0 0 0 2025-06-11 15:04:37.278 31822-31871 le.maplibredem com.example.maplibredemo E vulkan version is 4202692 2025-06-11 15:04:37.281 31822-31871 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.graphics.mapper@4.0::IMapper instance: default 2025-06-11 15:04:37.282 31822-31871 Gralloc4 com.example.maplibredemo I mapper 4.x is not supported 2025-06-11 15:04:37.286 31822-31871 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.graphics.mapper@3.0::IMapper instance: default 2025-06-11 15:04:37.286 31822-31871 Gralloc3 com.example.maplibredemo W mapper 3.x is not supported 2025-06-11 15:04:37.286 31822-31871 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.graphics.mapper@2.0::IMapper instance: default 2025-06-11 15:04:37.288 31822-31871 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.graphics.allocator@4.0::IAllocator instance: default 2025-06-11 15:04:37.289 31822-31871 Gralloc4 com.example.maplibredemo W allocator 4.x is not supported 2025-06-11 15:04:37.289 31822-31871 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.graphics.allocator@3.0::IAllocator instance: default 2025-06-11 15:04:37.290 31822-31871 Gralloc3 com.example.maplibredemo W allocator 3.x is not supported 2025-06-11 15:04:37.290 31822-31871 HidlServiceManagement com.example.maplibredemo E getService: Potential race detected, descriptor: android.hardware.graphics.allocator@2.0::IAllocator instance: default 2025-06-11 15:04:37.291 31822-31871 gralloc_x86 com.example.maplibredemo D gralloc_alloc: Creating ashmem region of size 4919296 2025-06-11 15:04:37.291 31822-31854 gralloc_x86 com.example.maplibredemo D gralloc_alloc: Creating ashmem region of size 5763072 2025-06-11 15:04:37.313 31822-31871 gralloc_x86 com.example.maplibredemo D gralloc_alloc: Creating ashmem region of size 4919296 2025-06-11 15:04:37.321 31822-31871 gralloc_x86 com.example.maplibredemo D gralloc_alloc: Creating ashmem region of size 4919296 2025-06-11 15:04:37.373 31822-31854 gralloc_x86 com.example.maplibredemo D gralloc_alloc: Creating ashmem region of size 5763072 2025-06-11 15:04:37.379 31822-31890 Mbgl com.example.maplibredemo I {RenderThread 45}[General]: GPU Identifier: Adreno (TM) 640 2025-06-11 15:04:37.380 31822-31822 Mbgl-Conne...tyReceiver com.example.maplibredemo V connected - true 2025-06-11 15:04:37.416 31822-31854 gralloc_x86 com.example.maplibredemo D gralloc_alloc: Creating ashmem region of size 5763072 2025-06-11 15:04:37.919 31822-31893 Mbgl-HttpRequest com.example.maplibredemo W Request failed due to a permanent error: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:37.920 31822-31892 Mbgl-HttpRequest com.example.maplibredemo W Request failed due to a permanent error: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:37.920 31822-31861 Mbgl-HttpRequest com.example.maplibredemo D [HTTP] This request was cancelled (http://127.0.0.1:8081/resources/sprites/v1/sprite@1@2x.png). This is expected for tiles that were being prefetched but are no longer needed for the map to render. 2025-06-11 15:04:37.921 31822-31861 Mbgl-HttpRequest com.example.maplibredemo D [HTTP] This request was cancelled (http://127.0.0.1:8081/resources/sprites/v1/sprite@1@2x.json). This is expected for tiles that were being prefetched but are no longer needed for the map to render. 2025-06-11 15:04:37.921 31822-31822 Mbgl com.example.maplibredemo E {le.maplibredemo}[Style]: Failed to load sprite: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:37.922 31822-31822 Mbgl com.example.maplibredemo E {le.maplibredemo}[Style]: Failed to load sprite: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:39.134 31822-31893 Mbgl-HttpRequest com.example.maplibredemo W Request failed due to a permanent error: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:39.134 31822-31892 Mbgl-HttpRequest com.example.maplibredemo W Request failed due to a permanent error: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:39.135 31822-31861 Mbgl-HttpRequest com.example.maplibredemo D [HTTP] This request was cancelled (http://127.0.0.1:8082/tiles/natural_earth/0/0/0.pbf). This is expected for tiles that were being prefetched but are no longer needed for the map to render. 2025-06-11 15:04:39.136 31822-31861 Mbgl-HttpRequest com.example.maplibredemo D [HTTP] This request was cancelled (http://127.0.0.1:8082/tiles/natural_earth/0/0/0.pbf). This is expected for tiles that were being prefetched but are no longer needed for the map to render. 2025-06-11 15:04:39.136 31822-31894 Mbgl-HttpRequest com.example.maplibredemo W Request failed due to a permanent error: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:39.136 31822-31861 Mbgl-HttpRequest com.example.maplibredemo D [HTTP] This request was cancelled (http://127.0.0.1:8082/tiles/natural_earth/0/0/0.pbf). This is expected for tiles that were being prefetched but are no longer needed for the map to render. 2025-06-11 15:04:39.151 31822-31871 Mbgl com.example.maplibredemo E {RenderThread 45}[Style]: Failed to load tile 0/0/0=>0 for source earth: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:39.152 31822-31871 Mbgl com.example.maplibredemo E {RenderThread 45}[Style]: Failed to load tile 0/0/0=>0 for source earth: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:39.152 31822-31871 Mbgl com.example.maplibredemo E {RenderThread 45}[Style]: Failed to load tile 0/0/0=>0 for source earth: CLEARTEXT communication to 127.0.0.1 not permitted by network security policy 2025-06-11 15:04:42.712 31822-31895 ProfileInstaller com.example.maplibredemo D Installing profile for com.example.maplibredemo
06-12
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #define PORT 12345 #define BUFFER_SIZE 1024 int main() { struct sockaddr_in address; int sock = 0; char *buffer = (char*) malloc(BUFFER_SIZE * sizeof(char)); char *message = (char*) malloc(BUFFER_SIZE * sizeof(char)); // Create socket file descriptor if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("Socket creation failed\n"); return -1; } // Set server address address.sin_family = AF_INET; address.sin_port = htons(PORT); // Convert IP address from string to network byte order if (inet_pton(AF_INET, "127.0.0.1", &address.sin_addr) <= 0) { printf("Invalid address / Address not supported\n"); return -1; } // Connect to server if (connect(sock, (struct sockaddr *)&address, sizeof(address)) < 0) { printf("Connection failed\n"); return -1; } printf("Connected to server\n"); // Loop to send messages while (1) { printf("Enter message to send: "); fgets(message, BUFFER_SIZE, stdin); // Send message to server send(sock, message, strlen(message), 0); // Receive response from server memset(buffer, 0, BUFFER_SIZE); int valread = read(sock, buffer, BUFFER_SIZE); if (valread <= 0) { printf("Server disconnected\n"); break; } printf("Received response from server: %s\n", buffer); } // Close connection close(sock); free(buffer); free(message); return 0; } 按照/** * @file prac1.c * @brief 功能说明(英文) * @author Zhilong Cen * @date 2025-08-13 * @version 1.0 */ 在文件开头增加注释
最新发布
08-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值