socket的中文翻译是套接字,那为什么中文叫套接字呢?我的意思是套接字到底表现了socket的什么特点

Socket为什么要翻译成套接字?
套接字(也称为BSD 套接字)应用程序接口(API)包括了一个用C语言写成的应用程序开发库,主要用于实现进程间通讯,在计算机网络通讯方面被广泛使用。Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口.。然而,由于AT&T的专利保护着UNIX,所以只有在1989年Berkeley大学才能自由地发布自己的操作系统和网络库。套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。Socket原意是 “插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。Socket可以看成在两个程序进行通讯连接中的一个端点,是连接应用程序和网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定与网络驱动建立关系。此后,应用程序送给Socket的数据,由Socket交给网络驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定IP地址和端口号相关的数据后,由网络驱动程序交给Socket,应用程序便可从该Socket中提取接收到的数据,网络应用程序就是这样通过Socket进行数据的发

Socket为什么要翻译成套接字
socket的意思是插座。 插座,拼音chāzuò,又称电源插座、开关插座,英文翻译:receptacle sok。插座是指有一个或一个以上电路接线可插入的座,通过它可插入各种接线。这样便于与其他电路接通。通过线路与铜件之间的连接与断开,来达到最终达到该部分电路的接通与断开。1、先用试电笔找出火线;2、关掉插座电源;3、将火线接入开关2个孔中的一个A标记,再从另一个孔中接出一根2.5MM2绝缘线接入下面的插座3个孔中的L孔内接牢;4、找出零线直接接入插座3个孔中的N孔内接牢;5、找出地线直接接入插座3个孔中的E孔内接牢。注意:零、地线不能接错(一般面对插座左零右火上接地),否则插上用电设备,一开就会跳闸。 希望我能帮助你解疑释惑。

socket套接字在多线程发送数据时要加锁吗
从socket本身来说不需要加锁,socket套接字在发送数据的时候,需要申请网口的硬中断,硬中断请求在操作系统底层是加锁的,不会出现冲突。 但是从逻辑上来说,如果多线程操作同一个socket,可能会出现发送数据混乱的情况,因为socket执行发送数据的时候,是把你所要发送的数据填入系统的发送缓冲区,真正发送是网口驱动自己执行的。这个填入过程是线程不安全的。这个不安全不是指会出现临界区冲突,而是指socket并不能保证每次都把完整的数据压入系统发送缓冲区,比方说你一个线程一次发1000个字节,但是可能压一次只压了800个字节进缓冲区,然后另外一个线程压了一部分数据进去,然后才轮到这个线程再把剩下的200个字节压进去。这样你要发送的数据就被打散混乱了。 所以多线程操作一个socket发送数据,最好是用共享一个发送队列的方式,一般很少用直接加锁的。

如何建立一个socket套接字
Windows 下先是调用WSAStartup()初始化套接子环境,并且在套接字关闭的时候清理内存。再调用socket(AF_INET,SOCKET_STREAM或SOCET_DATAGRAM,0)函数就可以创建一个套接字了,调用成功函数返回一个SOCKET句柄。Linux下只要调用socket()函数就可以创建套接字了。

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/306764.html。