CN107147543A - 一种面向PC客户端的服务器的socket通信方法 - Google Patents

一种面向PC客户端的服务器的socket通信方法 Download PDF

Info

Publication number
CN107147543A
CN107147543A CN201710257550.5A CN201710257550A CN107147543A CN 107147543 A CN107147543 A CN 107147543A CN 201710257550 A CN201710257550 A CN 201710257550A CN 107147543 A CN107147543 A CN 107147543A
Authority
CN
China
Prior art keywords
socket
objects
client
server
eventselect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710257550.5A
Other languages
English (en)
Inventor
方敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Bill Trading Center Co Ltd
Original Assignee
Wuhan Bill Trading Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Bill Trading Center Co Ltd filed Critical Wuhan Bill Trading Center Co Ltd
Priority to CN201710257550.5A priority Critical patent/CN107147543A/zh
Publication of CN107147543A publication Critical patent/CN107147543A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种面向PC客户端的服务器的socket通信方法,包括:S1、启动新线程,根据预定参数创建面向PC客户端的服务器的socket处理器对象;S2、在所述socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器;S3、在所述事件选择器中,为所述服务器socket通道对象注册客户端请求连接事件;S4、启动新线程,接收第一客户端发送的连接请求事件,与所述第一客户端建立socket连接;S5、连接成功后,与所述第一客户端进行数据交互。本发明的有益效果是:相比现有的通信方法,本技术方案通过在服务器为客户端生成socket通道对象和socket连接对象,与服客户端建立socket连接和数据交互,提高了数据交互的速度和效率。

Description

一种面向PC客户端的服务器的socket通信方法
技术领域
本发明涉及数据通信领域,特别涉及一种面向PC客户端的服务器的socket通信方法。
背景技术
现有技术中,面向PC客户端的服务器的通信方法包括单工通信、半双工通信和全双工通信三种。单工通信是指消息只能单方向传输的工作方式。半双工通信可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。全双工通信是指在通信的任意时刻,允许数据同时在两个方向上传输。但是,一般的通信方法在速度和效率方面并不理想。
发明内容
本发明提供了一种面向PC客户端的服务器的socket通信方法,解决了现有技术通信方法的速度和效率并不理想的技术问题。
本发明解决上述技术问题的技术方案如下:一种面向PC客户端的服务器的socket通信方法,包括:
S1、启动新线程,根据预定参数创建面向PC客户端的服务器的socket处理器对象,同时启动新线程创建socket连接监视器对象,所述预定参数包括:服务类型、服务器监听地址、服务器监听端口、连接设定参数、消息格式变换处理类以及消息处理器;
S2、在所述socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,并将所述服务器socket通道对象设置为非阻塞模式,将所述服务器socket连接对象与所述监听地址和所述监听端口进行绑定;
S3、在所述事件选择器中,为所述服务器socket通道对象注册客户端请求连接事件;
S4、启动新线程,根据所述服务器socket通道对象、所述服务器socket对象和所述事件选择器创建并启动服务器socket运行对象,接收第一客户端发送的连接请求事件,生成第一socket连接对象和所述第一socket通道对象,与所述第一客户端建立socket连接;
S5、连接成功后,通过所述第一socket连接对象和所述第一socket通道对象与所述第一客户端进行数据交互,同时将所述第一socket连接对象添加到所述socket连接监视器对象的socket连接监视列表中,以对所述第一socket连接对象的连接状态进行监视。
本发明的有益效果是:相比现有的通信方法,本技术方案通过在服务器为客户端生成socket通道对象和socket连接对象,与客户端建立socket连接和数据交互,提高了数据交互的速度和效率。
在上述技术方案的基础上,本发明还可以做如下改进。
优选地,步骤S4中,接收第一客户端发送的连接请求事件,生成第一socket连接对象和所述第一socket通道对象,与所述第一客户端建立socket连接的方法包括:
A1、当所述服务器socket通道对象接收到所述第一客户端发送的连接请求事件时,将所述连接请求事件报告给所述事件选择器;
A2、当所述事件选择器接收到所述连接请求事件时,创建第一socket连接对象和第一socket通道对象,生成第一连接ID,将所述第一socket通道对象作为所述第一socket连接对象的通信通道;
A3、通过所述第一socket通道对象和所述第一socket连接对象与所述第一客户端建立socket连接。
优选地,步骤S5中,连接成功之后,通过第一socket连接对象和所述第一socket通道对象与所述第一客户端进行数据交互之前,还包括:
B1、在所述事件选择器中为所述第一socket通道对象注册读事件,并给所述第一socket通道对象返回读事件选择键;
B2、将所述读事件选择键与所述第一socket连接对象的关系保存到连接对象列表中。
优选地,步骤S5中,通过第一socket连接对象和所述第一socket通道对象与所述第一客户端进行数据交互的方法包括:
C1、当所述第一socket通道对象接收到所述第一客户端发送的读请求事件时,将所述读请求事件报告给所述事件选择器,通过所述事件选择器将所述读事件选择键放入事件对象集合中;
C2、当所述服务器需要向所述第一客户端写入数据时,在所述事件选择器中为所述第一socket通道对象注册写事件,并给所述第一socket通道对象返回写事件选择键;
C3、当所述第一socket通道对象与所述第一客户端的socket通道对象的写操作准备就绪时,在所述事件选择器中生成可写事件,将所述写事件选择键放入所述事件对象集合中;
C4、轮询所述事件对象集合,当询查到所述读事件选择键时,启动第一线程,处理所述读事件选择键对应的所述读请求事件,当询查到所述写事件选择键时,启动第二线程,处理所述写事件选择键对应的所述可写事件。
优选地,步骤C4中,启动第一线程,处理所述读事件选择键对应的所述读请求事件的方法包括:
D1、从线程池启动第一线程,根据所述读事件选择键与所述第一socket连接对象的关系定位所述第一socket连接对象和所述第一socket通道对象;
D2、从所述第一socket通道对象中读取到字节流格式的第一数据块;
D3、调用所述消息格式变换处理类的数据格式转换方法将所述第一数据块转化为消息格式的第一消息;
D4、调用所述第一socket连接对象的消息处理方法处理所述第一消息,并通过所述第一socket通道对象将所述处理结果发送给所述第一客户端的socket通道对象,结束所述第一线程。
优选地,步骤C4中,启动第二线程,处理所述写事件选择键对应的所述可写事件的方法包括:
E1、从线程池启动第二线程,从数据缓存区中读取到消息格式的第二消息;
E2、调用所述消息格式变换处理类的数据格式转换方法将所述第二消息转化为字节流格式的第二数据块;
E3、调用底层的写数据流方法将所述第二数据块写入所述第一socket通道对象中,并通过所述第一socket通道对象发送到所述第一客户端的socket通道对象,结束第二线程。
优选地,步骤S5中,通过所述socket连接监视器对象对所述socket连接监视列表中的每个socket连接对象的连接状态进行监视的方法包括:
F1、定时启动所述socket连接监视器对象中的检查socket连接的任务;
F2、循环获取所述socket连接监视列表中的每个socket连接对象;
F3、通过每个socket连接对象向对应的客户端发送ping消息,判断是否接收到应答消息,如是则表示该socket连接对象为连接状态;否则表示该socket连接对象为未连接状态,删除该socket连接对象。
优选地,步骤S4中,如果接收到多个客户端发送的连接请求事件,则为每个客户端生成各自的socket连接对象和socket通道对象,同时与多个客户端建立socket连接。
附图说明
图1为本发明实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图2为本发明另一实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图3为本发明另一实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图4为本发明另一实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图5为本发明另一实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图6为本发明另一实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图7为本发明另一实施例提供的一种面向PC客户端的服务器的socket通信方法的流程示意图;
图8为本发明另一实施例提供的PC客户端与服务器的socket通信过程的示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,提供一种面向PC客户端的服务器的socket通信方法,包括:
S1、启动新线程,根据预定参数创建面向PC客户端的服务器的socket处理器对象,同时启动新线程创建socket连接监视器对象,预定参数包括:服务类型、服务器监听地址、服务器监听端口、连接设定参数、消息格式变换处理类以及消息处理器;
S2、在socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,并将服务器socket通道对象设置为非阻塞模式,将服务器socket连接对象与监听地址和监听端口进行绑定;
S3、在事件选择器中,为服务器socket通道对象注册客户端请求连接事件;
S4、启动新线程,根据服务器socket通道对象、服务器socket对象和事件选择器创建并启动服务器socket运行对象,接收第一客户端发送的连接请求事件,生成第一socket连接对象和第一socket通道对象,与第一客户端建立socket连接;
S5、连接成功后,通过第一socket连接对象和第一socket通道对象与第一客户端进行数据交互,同时将第一socket连接对象添加到socket连接监视器对象的socket连接监视列表中,以对第一socket连接对象的连接状态进行监视。
具体地,服务器先创建socket处理器对象,然后在socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,为后续连接作准备工作,服务器在接收客户端发送的连接请求之前,需要为服务器socket通道对象在事件选择器中注册一个客户端请求连接事件,在服务器socket通道对象接收到客户端发送的连接请求时,将该连接请求报告给事件选择器,事件选择器为该客户端生成一个连接ID和用于通信的socket连接对象和socket通道对象,然后,通过服务器生成的socket连接对象和socket通道对象与客户端的socket连接对象和socket通道对象进行通信。同时,将该socket连接对象添加到socket连接监视器对象的socket连接监视列表中,通过socket连接监视器对象定时对socket连接监视列表中的所有socket连接对象进行连接检查,删除未连接上或失效的对象。
上述实施例中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket),socket本质是编程接口,对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是socket编程接口,socket用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。假如对方在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。
具体地,如图2所示,步骤S4中,接收第一客户端发送的连接请求事件,生成第一socket连接对象和第一socket通道对象,与第一客户端建立socket连接的方法包括:
A1、当服务器socket通道对象接收到第一客户端发送的连接请求事件时,将连接请求事件报告给事件选择器;
A2、当事件选择器接收到连接请求事件时,创建第一socket连接对象和第一socket通道对象,生成第一连接ID,将第一socket通道对象作为第一socket连接对象的通信通道;
A3、通过第一socket通道对象和第一socket连接对象与第一客户端建立socket连接。
具体地,服务器在接收客户端发送的连接请求之前,需要为服务器socket通道对象在事件选择器中注册一个客户端请求连接事件,在服务器socket通道对象接收到客户端发送的连接请求时,将该连接请求报告给事件选择器,事件选择器为该客户端生成一个连接ID和用于通信的socket连接对象和socket通道对象,然后,通过服务器生成的socket连接对象和socket通道对象与客户端的socket连接对象和socket通道对象进行通信。
具体地,如图3所示,步骤S5中,连接成功之后,通过第一socket连接对象和第一socket通道对象与第一客户端进行数据交互之前,还包括:
B1、在事件选择器中为第一socket通道对象注册读事件,并给第一socket通道对象返回读事件选择键;
B2、将读事件选择键与第一socket连接对象的关系保存到连接对象列表中。
具体地,在服务器接收客户端发送的读请求之前,需要为第一socket通道对象在事件选择器中注册一个感兴趣的读事件,同时事件选择器给第一socket通道对象返回一个读事件选择键,在第一socket通道对象接收到客户端的socket通道对象发送过来的读请求时,上报给事件选择器,事件选择器就将第一socket通道对象对应的读事件选择键放入事件对象集合中,事件对象集合中包括需要进行处理的读事件或写事件。最后,将读事件选择键与第一socket连接对象的关系保存到连接对象列表中,用于后续根据读事件选择键定位第一socket连接对象。
具体地,如图4所示,步骤S5中,通过第一socket连接对象和第一socket通道对象与第一客户端进行数据交互的方法包括:
C1、当第一socket通道对象接收到第一客户端发送的读请求事件时,将读请求事件报告给事件选择器,通过事件选择器将读事件选择键放入事件对象集合中;
C2、当服务器需要向第一客户端写入数据时,在事件选择器中为第一socket通道对象注册写事件,并给第一socket通道对象返回写事件选择键;
C3、当第一socket通道对象与第一客户端的socket通道对象的写操作准备就绪时,在事件选择器中生成可写事件,将写事件选择键放入事件对象集合中;
C4、轮询事件对象集合,当询查到读事件选择键时,启动第一线程,处理读事件选择键对应的读请求事件,如图5所示,包括:
D1、从线程池启动第一线程,根据读事件选择键与第一socket连接对象的关系定位第一socket连接对象和第一socket通道对象;
D2、从第一socket通道对象中读取到字节流格式的第一数据块;
D3、调用消息格式变换处理类的数据格式转换方法将第一数据块转化为消息格式的第一消息;
D4、调用第一socket连接对象的消息处理方法处理第一消息,并通过第一socket通道对象将处理结果发送给第一客户端的socket通道对象,结束第一线程。
当询查到写事件选择键时,启动第二线程,处理写事件选择键对应的可写事件,如图6所示,包括:
E1、从线程池启动第二线程,从数据缓存区中读取到消息格式的第二消息;
E2、调用消息格式变换处理类的数据格式转换方法将第二消息转化为字节流格式的第二数据块;
E3、调用底层的写数据流方法将第二数据块写入第一socket通道对象中,并通过第一socket通道对象发送到第一客户端的socket通道对象,结束第二线程。
具体地,当服务器需要向第一客户端写入数据时,在事件选择器中为第一socket通道对象注册一个写事件,并给第一socket通道对象返回写事件选择键,当第一socket通道对象与第一客户端的socket通道对象的写操作准备就绪时,在事件选择器中生成可写事件,将写事件选择键放入事件对象集合中,只有两边的通道对象均准备就绪,才能将数据写入通道对象中。可以看出,处理读事件选择键对应的读请求事件的过程与处理写事件选择键对应的可写事件的过程是通过不同线程完成的,两者可以并行处理,从而提高处理效率。
具体地,如图7所示,步骤S5中,通过socket连接监视器对象对socket连接监视列表中的每个socket连接对象的连接状态进行监视的方法包括:
F1、定时启动socket连接监视器对象中的检查socket连接的任务;
F2、循环获取socket连接监视列表中的每个socket连接对象;
F3、通过每个socket连接对象向对应的客户端发送ping消息,判断是否接收到应答消息,如是则表示该socket连接对象为连接状态;否则表示该socket连接对象为未连接状态,删除该socket连接对象。
具体地,socket连接监视器对象用于定时检查socket连接对象的连接状态,删除未连接或连接失效的socket连接对象。
具体地,步骤S4中,如果接收到多个客户端发送的连接请求事件,则为每个客户端生成各自的socket连接对象和socket通道对象,同时与多个客户端建立socket连接。如图8所示,服务器为每个客户端在服务器本地生成一个socket连接对象和socket通道对象,实现一个服务器与多个客户端的通信。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种面向PC客户端的服务器的socket通信方法,其特征在于,包括:
S1、启动新线程,根据预定参数创建面向PC客户端的服务器的socket处理器对象,同时启动新线程创建socket连接监视器对象,所述预定参数包括:服务类型、服务器监听地址、服务器监听端口、连接设定参数、消息格式变换处理类以及消息处理器;
S2、在所述socket处理器对象中,创建服务器socket通道对象、服务器socket连接对象和事件选择器,并将所述服务器socket通道对象设置为非阻塞模式,将所述服务器socket连接对象与所述监听地址和所述监听端口进行绑定;
S3、在所述事件选择器中,为所述服务器socket通道对象注册客户端请求连接事件;
S4、启动新线程,根据所述服务器socket通道对象、所述服务器socket对象和所述事件选择器创建并启动服务器socket运行对象,接收第一客户端发送的连接请求事件,生成第一socket连接对象和所述第一socket通道对象,与所述第一客户端建立socket连接;
S5、连接成功后,通过所述第一socket连接对象和所述第一socket通道对象与所述第一客户端进行数据交互,同时将所述第一socket连接对象添加到所述socket连接监视器对象的socket连接监视列表中,以对所述第一socket连接对象的连接状态进行监视。
2.根据权利要求1所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤S4中,接收第一客户端发送的连接请求事件,生成第一socket连接对象和所述第一socket通道对象,与所述第一客户端建立socket连接的方法包括:
A1、当所述服务器socket通道对象接收到所述第一客户端发送的连接请求事件时,将所述连接请求事件报告给所述事件选择器;
A2、当所述事件选择器接收到所述连接请求事件时,创建第一socket连接对象和第一socket通道对象,生成第一连接ID,将所述第一socket通道对象作为所述第一socket连接对象的通信通道;
A3、通过所述第一socket通道对象和所述第一socket连接对象与所述第一客户端建立socket连接。
3.根据权利要求2所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤S5中,连接成功之后,通过第一socket连接对象和所述第一socket通道对象与所述第一客户端进行数据交互之前,还包括:
B1、在所述事件选择器中为所述第一socket通道对象注册读事件,并给所述第一socket通道对象返回读事件选择键;
B2、将所述读事件选择键与所述第一socket连接对象的关系保存到连接对象列表中。
4.根据权利要求3所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤S5中,通过第一socket连接对象和所述第一socket通道对象与所述第一客户端进行数据交互的方法包括:
C1、当所述第一socket通道对象接收到所述第一客户端发送的读请求事件时,将所述读请求事件报告给所述事件选择器,通过所述事件选择器将所述读事件选择键放入事件对象集合中;
C2、当所述服务器需要向所述第一客户端写入数据时,在所述事件选择器中为所述第一socket通道对象注册写事件,并给所述第一socket通道对象返回写事件选择键;
C3、当所述第一socket通道对象与所述第一客户端的socket通道对象的写操作准备就绪时,在所述事件选择器中生成可写事件,将所述写事件选择键放入所述事件对象集合中;
C4、轮询所述事件对象集合,当询查到所述读事件选择键时,启动第一线程,处理所述读事件选择键对应的所述读请求事件,当询查到所述写事件选择键时,启动第二线程,处理所述写事件选择键对应的所述可写事件。
5.根据权利要求4所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤C4中,启动第一线程,处理所述读事件选择键对应的所述读请求事件的方法包括:
D1、从线程池启动第一线程,根据所述读事件选择键与所述第一socket连接对象的关系定位所述第一socket连接对象和所述第一socket通道对象;
D2、从所述第一socket通道对象中读取到字节流格式的第一数据块;
D3、调用所述消息格式变换处理类的数据格式转换方法将所述第一数据块转化为消息格式的第一消息;
D4、调用所述第一socket连接对象的消息处理方法处理所述第一消息,并通过所述第一socket通道对象将所述处理结果发送给所述第一客户端的socket通道对象,结束所述第一线程。
6.根据权利要求5所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤C4中,启动第二线程,处理所述写事件选择键对应的所述可写事件的方法包括:
E1、从线程池启动第二线程,从数据缓存区中读取到消息格式的第二消息;
E2、调用所述消息格式变换处理类的数据格式转换方法将所述第二消息转化为字节流格式的第二数据块;
E3、调用底层的写数据流方法将所述第二数据块写入所述第一socket通道对象中,并通过所述第一socket通道对象发送到所述第一客户端的socket通道对象,结束所述第二线程。
7.根据权利要求1-6任一项所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤S5中,通过所述socket连接监视器对象对所述socket连接监视列表中的每个socket连接对象的连接状态进行监视的方法包括:
F1、定时启动所述socket连接监视器对象中的检查socket连接的任务;
F2、循环获取所述socket连接监视列表中的每个socket连接对象;
F3、通过每个socket连接对象向对应的客户端发送ping消息,判断是否接收到应答消息,如是则表示该socket连接对象为连接状态;否则表示该socket连接对象为未连接状态,删除该socket连接对象。
8.根据权利要求1-6任一项所述的一种面向PC客户端的服务器的socket通信方法,其特征在于,步骤S4中,如果接收到多个客户端发送的连接请求事件,则为每个客户端生成各自的socket连接对象和socket通道对象,同时与多个客户端建立socket连接。
CN201710257550.5A 2017-04-19 2017-04-19 一种面向PC客户端的服务器的socket通信方法 Pending CN107147543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710257550.5A CN107147543A (zh) 2017-04-19 2017-04-19 一种面向PC客户端的服务器的socket通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710257550.5A CN107147543A (zh) 2017-04-19 2017-04-19 一种面向PC客户端的服务器的socket通信方法

Publications (1)

Publication Number Publication Date
CN107147543A true CN107147543A (zh) 2017-09-08

Family

ID=59774823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710257550.5A Pending CN107147543A (zh) 2017-04-19 2017-04-19 一种面向PC客户端的服务器的socket通信方法

Country Status (1)

Country Link
CN (1) CN107147543A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109729101A (zh) * 2019-03-12 2019-05-07 深圳狗尾草智能科技有限公司 多层次低耦合的通信系统
CN109922159A (zh) * 2019-03-27 2019-06-21 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN109992212A (zh) * 2019-04-10 2019-07-09 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN110012042A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 一种通信方式的优化方法及电子设备
CN112995198A (zh) * 2021-03-29 2021-06-18 中信银行股份有限公司 一种基于socket的短连接通信方法和装置
CN113301034A (zh) * 2021-05-17 2021-08-24 浪潮金融信息技术有限公司 一种基于socket的内外网的通信方法、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651698A (zh) * 2007-12-12 2010-02-17 浙江大学 基于nio和io的面向发布订阅系统的传输方法
CN104301333A (zh) * 2014-11-05 2015-01-21 中国科学技术大学 非阻塞式握手实现方法及系统
CN104917817A (zh) * 2015-04-23 2015-09-16 四川师范大学 客户端以及数据通信方法
CN105187519A (zh) * 2015-08-26 2015-12-23 福建星网锐捷通讯股份有限公司 一种基于AIO的socket传输系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651698A (zh) * 2007-12-12 2010-02-17 浙江大学 基于nio和io的面向发布订阅系统的传输方法
CN104301333A (zh) * 2014-11-05 2015-01-21 中国科学技术大学 非阻塞式握手实现方法及系统
CN104917817A (zh) * 2015-04-23 2015-09-16 四川师范大学 客户端以及数据通信方法
CN105187519A (zh) * 2015-08-26 2015-12-23 福建星网锐捷通讯股份有限公司 一种基于AIO的socket传输系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李刚: "《疯狂java讲义》", 31 July 2014, 电子工业出版社 *
邓婷: "基于二级C/S模式的远程监测系统通信设计", 《微电子学与计算机》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012042A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 一种通信方式的优化方法及电子设备
CN110012042B (zh) * 2018-01-05 2022-01-04 武汉斗鱼网络科技有限公司 一种通信方式的优化方法及电子设备
CN109729101A (zh) * 2019-03-12 2019-05-07 深圳狗尾草智能科技有限公司 多层次低耦合的通信系统
CN109729101B (zh) * 2019-03-12 2021-08-06 苏州狗尾草智能科技有限公司 多层次低耦合的通信系统
CN109922159A (zh) * 2019-03-27 2019-06-21 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN109922159B (zh) * 2019-03-27 2021-10-08 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN109992212A (zh) * 2019-04-10 2019-07-09 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN112995198A (zh) * 2021-03-29 2021-06-18 中信银行股份有限公司 一种基于socket的短连接通信方法和装置
CN112995198B (zh) * 2021-03-29 2023-04-28 中信银行股份有限公司 一种基于socket的短连接通信方法和装置
CN113301034A (zh) * 2021-05-17 2021-08-24 浪潮金融信息技术有限公司 一种基于socket的内外网的通信方法、系统及介质

Similar Documents

Publication Publication Date Title
CN107147543A (zh) 一种面向PC客户端的服务器的socket通信方法
CN1305271C (zh) 基于代理映射的网络安全隔离与信息交换系统及方法
CN107294869A (zh) 一种虚拟网卡报文抓取的方法及系统
US20070058670A1 (en) UDP to TCP bridge
CN102761534B (zh) 实现媒体接入控制层透明代理的方法和装置
CN105939291B (zh) 报文处理方法和网络设备
CN106302199A (zh) 一种基于三层交换机设备的用户态协议栈实现方法及系统
JPH07501188A (ja) ローカル・エリア・ネットワーク伝送エミュレータ
CA2108126A1 (en) Method and apparatus for managing and facilitating communications in a distributed heterogeneous network
CN105656808A (zh) 报文处理方法及其系统
CN101222437B (zh) 在二层交换网络中透传bpdu报文的方法和系统
CN108768667A (zh) 一种用于多核处理器片内核间网络通信的方法
CN101645793B (zh) 一种基于企业融合通信的管理方法及系统
CN100555231C (zh) 一种调试信息输出和控制系统及其方法
CN106789099A (zh) 基于pcie的高速隔离网络方法及终端
WO2012010002A1 (zh) 一种物联网终端java应用的业务调试装置和方法
CN101986696A (zh) 信息中转设备及视频会议系统
CN103347077A (zh) 分布式文件系统的数据传输方法和装置
CN101931642A (zh) 一种多网络控制系统通讯管理方法
CN103944886B (zh) 一种端口安全的实现方法及系统
CN106936927A (zh) 一种基于PC客户端的socket通信方法
CN108667817A (zh) 报文转换系统和报文转换方法
CN104363185B (zh) 一种微型复合网络数据交换系统
CN105162751B (zh) 一种基于lwIP协议栈多网口多连接的通讯系统
CN115086311A (zh) 一种基于云服务总线的企业跨系统服务的管理系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170908

WD01 Invention patent application deemed withdrawn after publication