社区
C语言
帖子详情
为什么sock<0
violetci
2001-02-06 01:31:00
sock=socket(AF_INET,SOCK_STREAM,0);
if (sock<0){
perror("error socket id:");
exit(1);
}
else {
printf(" %d",sock);
}
程序执行的时候,sock判断小于0,然后执行了perror(error socket id:);
...全文
168
2
打赏
收藏
为什么sock<0
sock=socket(AF_INET,SOCK_STREAM,0); if (sock<0){ perror("error socket id:"); exit(1); } else { printf(" %d",sock); } 程序执行的时候,sock判断小于0,然后执行了perror(error socket id:);
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
violetci
2001-02-07
打赏
举报
回复
嗯,这点你说得很对
不过我的只要问题不是出在这里,主要是因为没有调用WSAStartup()
你能介绍一点关于sock编程上面的书么?
我看的书上面的例程都不正确
niki
2001-02-06
打赏
举报
回复
在UNIX中所有句柄包括套接口(socket)句柄,都是非负的短整数,而且一些应用程序把这一假设视为真理(如所说你的程序)。Windows Sockets句柄则没有这一限制,除了INVALID_SOCKET不是一个有效的套接口外,套接口可以取从0到INVALID_SOCKET-1之间的任意值。
而在winsocket中,
typedef unsigned int u_int;
typedef u_int SOCKET;
#define INVALID_SOCKET (SOCKET)(~0)
(/*ie. 0xffffffff*/)
所以你的程序在windows下不能正常运行,将 sock < 0 改为 sock == NVALID_SOCKET
则在windows/unix下均可正常运行。(unix下INVALID_SOCKET好象是-1)
sock
et编程TCP程序
sock
et编程TCP程序
判断
sock
et断开
用get
sock
opt来判断,还是蛮准确的 int
Sock
etConnected(int
sock
) { if(
sock
<=0) return 0; struct tcp_info info; int len=sizeof(info); get
sock
opt(
sock
, IPPROTO_TCP, TCP_INFO, &info, (
sock
len_t *)&a...
【Linux】三十三.《Linux网络编程一文吃透TCP:
Sock
et API、三次挥手四次握手与多线程/线程池演进》
对比 UDP 服务器,编写 TCP 服务器的代码流程明显更繁琐。最关键的区别在于:UDP 只需要
sock
et + bind 就能直接收发了(因为无连接,报文自带IP和端口);而 TCP 服务器必须额外增加 listen(监听)和 accept(获取新链接)的操作。此外,因为 TCP 是面向字节流的协议,我们在 send 和 recv 时不再像 UDP 那样发送“一个个独立的数据报”,而是像操作管道/文件一样,把数据看成连续不断的字节流来进行读取和写入。
微信小程序开发,云开发,校园论坛
源码链接: https://pan.quark.cn/s/a4b39357ea24 论坛作为一种新型的日常活动模式、职业活动模式以及教育模式,已经获得了社会公众的广泛认可。 同时,它也在重塑着人们的网络社交习惯。 随着参与论坛讨论的人数日益增多,论坛正逐步渗透到我们的日常生活中。 由此可见,设计一个界面简洁且功能完备的论坛系统,其未来的发展潜力十分可观。 我们所构建的这个论坛小程序平台,有效克服了微信表白墙在信息发布方面的不足,将现实生活中的讨论主题迁移至虚拟空间,促使更多的参与者能够在此即时分享各类话题以及富有创造性的见解。 该系统借助微信小程序开发工具进行构建,运用微信小程序特有的WXML微信标记语言来确立页面的布局,借助微信小程序特有的样式语言WXSS来编写样式文档以调控页面的视觉表现,并采用JavaScript执行业务逻辑,完成页面交互逻辑的处理与网络通信请求等任务。 其核心功能单元涵盖:用户单元及管理者单元。
Windows GPU安装CUDA环境
源码链接: https://pan.quark.cn/s/a376b5a3a265 在 Windows 操作系统中配置 GPU 的 CUDA 开发环境是一项具有高度必要性的工作,这对 GPU 计算效能与深度学习算法的达成具有决定性的作用。本文将详尽阐述在 Windows 系统中配置 CUDA 开发环境的操作流程,并且处理一些可能遭遇的挑战。 一、版本匹配的关键性 在配置 CUDA 开发环境之前,必须检查项目所应用的 TensorFlow 版本,并明晰 TensorFlow、Python、CUDA 以及 cuDNN 各组件之间的适配关系。这一环节极为关键,因为不同版本间存在一定的兼容性障碍。倘若版本不一致,可能会导致配置失败或引发其他并发症。 二、获取并配置 CUDA 在确认所需安装的版本之后,可从 NVIDIA 的官方网站获取对应的 CUDA 版本。下载完毕后,依照安装指引进行配置。在配置过程中,有几个重点环节需要留意: 1. CUDA 需要借助 C++ 编译器的支持,在 Windows 平台上必须安装 Visual Studio。若设备未预装 Visual Studio,在配置 CUDA 时会提示选择安装哪个版本。 2. CUDA 的路径应保持默认,以便于后续环境变量的配置。 三、配置完成后的验证 配置结束后,需要确认是否配置成功。主要运用 CUDA 自带的 deviceQuery.exe 和 bandwidthTest.exe 两个工具: 1. 通过 win+R 启动 cmd,切换至安装目录下的 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extra...
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章