socket的基本概念和原理(socket的含义)
0
2023-10-23
37.对于一个网络连接来说,套接字是平等的,没有区别,也不会因为服务器或者客户端而有不同的级别。
38.Socket和ServerSocket都是通过SocketImpl类及其子类来工作的。
39.重要Socket API重要Socket API:java .net.Socket继承自java.lang.Object,有八个构造函数,但是方法不多。下面是三种最常用的方法。对于其他方法,请参考JDK-1.3文档。
40.Accept方法用于生成“阻塞”,直到接受连接并返回客户端的Socket对象的实例。
41、“阻塞”是一个术语,它使运行的程序暂时“停留”在这个地方,直到一个会话结束,然后程序继续运行;通常“堵塞”是由一个循环引起的。
42.getInputStream方法获取网络连接输入并返回InputStream对象实例。
43.getOutputStream方法连接的另一端将获取输入并返回一个OutputStream对象实例。
44.注意:getInputStream和getOutputStream方法都可能生成IOException,必须捕获它,因为它们返回的流对象通常被另一个流对象使用。
45.2.如何开发一个服务器-客户端模型的程序开发原理:服务器使用ServerSocket监听指定端口,端口可以随意指定(由于1024以下的端口通常是保留端口,在一些操作系统中不允许随意使用,所以建议使用1024以上的端口),等待客户的连接请求,客户连接后产生会话;完成会话后关闭连接。
46.客户端使用Socket向网络上的服务器的端口发送连接请求,一旦连接成功,就打开会话;会话完成后,关闭套接字。
47.客户端不需要指定开放端口,通常会临时动态分配一个1024以上的端口。
48.套接字接口是TCP/IP网络的API。套接字接口定义了许多函数或例程,程序员可以用它们在TCP/IP网络上开发应用程序。
49、在互联网上学习TCP/IP网络编程,必须了解Socket接口。
50.套接字接口设计者首先把接口放在Unix操作系统中。
51、如果知道Unix系统的输入输出,就很容易理解Socket。
52.网络Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。
53.Socket还有一个类似于打开文件的函数调用Socket(),返回一个整数的Socket描述符,后续的连接建立、数据传输等操作都是通过这个Socket实现的。
54.常用的套接字类型有两种:流套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)。
55.流式传输是面向连接的TCP服务应用程序的面向连接的套接字;数据报套接字是无连接套接字,对应无连接UDP服务应用。
56、套接字建立为了建立套接字,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。
57.socket function的原型是:intsocket(int域,int类型,int协议);Domain表示使用的协议族,通常是AF_INET,表示互联网协议族(TCP/IP协议族);type参数指定socket: SOCK_STREAM或SOCK_DGRAM的类型,Socket接口还定义了原始套接字(SOCK_RAW),允许程序使用底层协议;协议通常将值指定为0。
58.对Socket()的调用返回一个整数socket descriptor,您可以在以后的调用中使用它。
59.套接字描述符是指向内部数据结构的指针,它指向描述符表条目。
60.调用Socket函数时,socket executor会创建一个套接字。事实上,“创建套接字”意味着为套接字数据结构分配存储空间。
61.套接字执行器为您管理描述符表。
62.两个网络程序之间的网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远程主机地址和远程协议端口。
63.套接字数据结构包含这五种信息。
64.socket也广泛应用于测量软件中。编辑这段2 socket函数介绍socketsocket(int af,int type,int protocol);应用程序调用socket函数来创建能够进行网络通信的套接字。
65.第一个参数指定应用程序使用的通信协议的协议族。对于TCP/IP协议族,该参数设置为AF _ INET第二个参数指定要创建的套接字类型,流套接字类型为SOCK_STREAM,数据报套接字类型为SOCK _ DGRAM;第三个参数指定应用程序使用的通信协议。
66.如果调用成功,该函数返回新创建的套接字的描述符,如果调用失败,则返回INVALID_SOCKET。
67.套接字描述符是一个整数值。
68.每个进程的进程空间中都有一个套接字描述符表,存储着套接字描述符与套接字数据结构的对应关系。
69.表中的一个字段存储新创建的套接字的描述符,另一个字段存储套接字数据结构的地址,因此可以根据套接字描述符找到相应的套接字数据结构。
70.每个进程在自己的进程空间中都有一个套接字描述符表,但是套接字数据结构在操作系统的内核缓冲区中。
71.下面是一个创建流套接字的例子:struct prototype * PPEPPE = getprotobyname(" TCP ");SOCKET listen SOCKET =socket(PF _ INET,SOCK_STREAM,PPE-& gt;p _ proto);这一段编辑SOCKET PHP 3 PHP的SOCKET操作能力很强,处理方式更接近C,但没有C那么繁琐。
72.它可以被看作是由C操作的套接字的封装..
73.打开a socket monitoring示例程序:
你好,我叫小霞,我将为你回答以上问题。socket是什么意思?socket是什么意思?很多人还不知道。现在让我们来看看!
1.socketprotocol Socket protocolsocket的形象描述非常类似于电话插座。
2.以国家电话网为例。
3、电话通话双方相当于相互通信的两个过程,区号是其网络地址;区域内的一个单元交换机相当于一台主机,主机分配给每个用户的本地号码相当于socket。
4.任何用户在拨打电话之前,必须先拥有一部电话,相当于申请了asocket;同时要知道对方的号码,也就是说对方有固定的socket。
5.然后拨一个电话给对方,相当于发了一个连接请求(如果对方不在同一个区域,拨对方的区号,相当于给了网络地址)。
6.如果对方在场且空闲(相当于通信的对方主机开机,可以接受连接请求),拿起电话话筒,双方可以正式通话,相当于连接成功。
7.双方通话的过程就是一方给电话发送信号,另一方从电话接收信号的过程,相当于向socket发送数据,从socket接收数据。
8.通话结束后,一方挂断电话,相当于关闭socket,取消连接。
9.电话系统在电话系统中,一般用户只能感受到本地电话和对方电话号码的存在。建立呼叫的过程,语音传输的过程,整个电话系统的技术细节对他来说都是透明的,这也和socket机制非常相似。
10.socket利用网间通信设施实现进程通信,但它并不关心通信设施的细节,只要通信设施能提供足够的通信能力,它就满足了。
11.至此,我们已经直观地描述了socket。
12.摘要,socket本质上提供了进程通信的端点。
13.在流程通信之前,双方必须首先创建一个端点,否则没有办法建立联系和相互通信。
14.就像打电话之前,双方都要有电话。
15.在网间,每个socket都使用半相关描述:(协议、本地地址、本地端口)一个完整的socket都有一个本地唯一的socket号,由操作系统分配。
16.最重要的是,socket是为客户端/服务器模型设计的,为客户端和服务器程序提供不同的socket系统调用。
17.客户随机申请a socket(相当于一个人想打电话可以在任何网络电话上拨打电话),系统为其分配一个socket号码;服务器有一个全球公认的socket,任何客户都可以向它发送连接请求和信息请求(相当于被叫电话有主叫知道的电话号码)。
18.socket利用客户端/服务器模式巧妙地解决了进程间建立通信连接的问题。
19.服务器socket半相关性被公认为非常重要。
20.读者可能希望考虑如何在两个完全随机的用户进程之间建立通信。如果没有任何一方的固定socket
21.-套接字接口套接字接口是最广泛使用的访问互联网的方法。
22.如果你有一台刚刚配备了TCP/IP协议的主机,它的IP地址是202.120.127.201,那么在另一台主机或同一台主机上执行FTP 202.120.127.201时,显然不可能建立连接。
23,因为“202.120.127.201”这台主机没有运行FTP服务软件。
24.同样,在另一台主机或同一台主机上运行网景等浏览软件,输入“http://202.120.127.201”也无法建立连接。
25.现在,如果你在这台主机上运行一个FTP服务软件(软件会打开一个套接字并将其绑定到端口21),然后在这台主机上运行一个Web服务软件(软件会打开另一个套接字并将其绑定到端口80)。
26.这样,当在另一台主机或同一台主机上执行FTP 202.120.127.201时,FTP客户端软件会通过端口21调用主机上FTP服务软件提供的Socket,与之建立连接和对话。
27.当你在网景中输入“http://202.120.127.201”时,会通过80端口调用主机上Web服务软件提供的Socket建立连接并与之通话。
28.socket Principle网上有很多这样的主机,一般运行多个服务软件,同时提供几种服务。
29.每个服务打开一个套接字,绑定一个端口,不同的端口对应不同的服务。
30.Socket就像一个多孔的插座,正如它原来的英文意思一样。
31.一台主机就像一个装满各种插座的房间,每个插座都有一个号码。有些插座提供220伏交流电,有些提供110伏交流电,有些提供有线电视节目。
32.客户软件可以通过将插头插入不同编号的插座来获得不同的服务。
33.-编辑本段socket相关知识1。什么是socket所谓的socket?也就是俗称的“插座”。应用程序通常通过“套接字”向网络发送请求或回答网络请求。
34.以J2SDK-1.3为例。Socket和ServerSocket类库位于java中。网包。
35.服务器端使用ServerSocket,建立网络连接时使用Socket。
36.当连接成功时,应用程序的两端都会生成一个套接字实例。运行此实例以完成所需的会话。
本文到此结束,希望对家长有所帮助。