我是套接字编程的新手。 我想实现本主题中提到的内容,或者您​​可以将其称为聊天室。 我的基本目的只是了解其工作原理。 我已经阅读了许多教程,但找不到确切的内容。

我有以下问题:

问题1:我有一台电脑。 所以我使用lo(本地循环)作为我的界面。 因此,无论我发送的是什么数据,我都会在程序中接收到相同的数据,首先发送然后接收。 反之亦然不是问题。

Q2。 在任何教程中,我都没有看到在原始套接字的上下文中接受和连接调用。 我真的可以将这些调用与原始套接字一起使用吗?

  ask by user3392539 translate from so

本文未有回复,本站智能推荐:

1回复

使用套接字进行通讯的程序卡住了

我在程序中使用了套接字,以使客户端与证明者即服务器进行通信。 首先,客户端将本地文件发送给证明者,文件成功。 然后,客户端将该文件的签名发送给证明者,但是程序卡住了。 我认为证明者的recv函数无法接收任何数据,因此它失败了,但我不知道为什么会发生。 有人可以解释吗?
1回复

流套接字服务器无法处理Linux中超过382个线程(每个连接一个)

我正在尝试编写一个服务器程序,该程序分叉处理多个客户端连接的进程,每个连接创建一个线程。 但是这个进程可以创建的最大线程数永远不会超过382。 为什么我不能创建更多数量的线程来处理一个文件描述符与一个客户端通信,而Linux中的每个进程的文件描述符限制为1024? 我正在使用一个在
3回复

我们应该使用多个接受器套接字来接受大量连接吗?

众所周知,SO_REUSEPORT允许多个套接字侦听相同的IP地址和端口组合,它将每秒请求增加2到3倍 ,并减少延迟(~30%)和延迟标准差(8次) : https ://www.nginx.com/blog/socket-sharding-nginx-release-1-9-1/ N
1回复

Linux仅使用原始套接字接口

我的嵌入式系统有一个OpenWrt Linux发行版。 该设备有3个网络接口:eth0,eth1和wlan0。 其中一个网络接口(eth0)应仅用于原始套接字编程。 我能够使用参数AF_PACKET , SOCK_RAW , ETH_P_ALL创建一个套接字。 套接字接收所有网络流量
1回复

如何使用原始套接字ping本地主机?

该程序从某个来源获得了杂项以太网流量,请更改ip并将其重定向到localhost(例如,应用于ssh连接),然后将答案从localhost发送回去。 我使用以下代码: main()中的某个位置: 通过程序发送ping时,我在环回接口上使用了tcpdump来检查其工作原理:
1回复

如何避免将多个原始套接字绑定到相同的IP地址?

实际上,如果我用相同的IP地址创建多个RAW套接字。 我可以绑定所有它们,因此所有套接字都接收到数据包。 有什么办法可以避免,以便其他试图绑定同一IP地址的进程收到错误消息? 我正在使用原始套接字 在手册页中原始(7) 可以使用bind(2)调用将原始套接字绑定到
1回复

多个套接字连接进行文件传输

我正在研究在带有套接字的Unix上运行的基于TCP的文件传输程序。 我需要创建一个程序来打开两个独立的数据连接,类似于FTP协议。 一个连接用于客户端和服务器之间相互发送命令,另一个用于实际传输文件中的字节。 换句话说,有一个客户端,一台服务器以及它们之间的两个连接。 我要在不同的端
4回复

应用程序可以处理N个接受连接,每个接受使用一个独立的线程

我有C linux TCP客户端/服务器应用程序。 我想到了一个奇怪的情况,但是我不知道此应用程序是否会产生任何后果。 我的服务器端可以接受N个连接,例如,该服务器将接受100个连接。 在这种情况下,我在主线程中创建了侦听套接字,然后创建了100个线程,并且每个线程都有一个独立的accep
1回复

如何在Linux C中使用原始套接字接收bpdu流量

如何使用recvfrom()获取数据包? 以及如何知道bdpu流量? 我读了一些资料,但没有找到侦听以太网流量。 输出: 这是什么? 我不知道。
3回复

原始套接字Linux

可能这个问题有点愚蠢,但我会问。 我阅读了很多有关网络中原始套接字的信息,并看到了一些示例。 因此,基本上,使用原始套接字可以构建自己的标头堆栈,例如stack = IP + TCP / UDP + OWN_HEADER。 我的问题是,是否有可能从Linux内核中获得某种形式的前两个(IP