`
yangyou230
  • 浏览: 1649545 次
文章分类
社区版块
存档分类

Socket通信原理与多线程

 
阅读更多

Socket通信原理如下:服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能。具体而言,首先服务器端建立一个Socket,设置好本机的IP和监听的端口与Socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。同时客户端建立一个Socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接收到服务的确认后,尽力连接,开始与服务器进行通信。服务器端和客户端的连接及它们之间的数据传送均采用同步方式。(要链接一个ws2_32.lib的库文件;头文件winsock2.h;dll文件Ws2_32.dll)采用UDP编程就是发送出去就不管的一种网络协议,因此UDP编程的发送端只管发送就可以了,不用检查网络的连接状态。

在服务器端有一个控制台程序(或者Windows服务),与多个客户端程序通信,其中主线程有一个Socket绑定在一个固定端口上,负责监听客户端的Socket信息。每当启动一个客户端程序,客户端发送来一个Socket连接请求,服务器端就新开启一个线程,并在其中创建一个Socket与该客户端的Socket通信,直到客户端程序关闭,结束该线程,主线程中的Socket在应用程序退出时关闭。

分享到:
评论

相关推荐

    Windows下基于socket多线程并发通信的实现

    Socket 接口是TCP/IP 网络最为通用的应用接口,也是在Internet 上进行网络程序应用开发最通用的API[1],本文介绍了Socket通信的基本机制以及采用多线程技术实现并发通信的基本原理,并给出实例。

    C#.net同步异步SOCKET通讯和多线程总结

    同步套接字通信 Socket支持下的网上点对点的通信 Socket编程原理 基于TCP协议的发送和接收端 异步套接字 多线程

    Windows Socket 通信网络编程

    实现功能:Socket通信,分为客户端和服务端两个程序,实现客户端与服务端间的通信,功能包括 1)客户端请求得到服务端的当前时间和主机名称; 2)客户端请求得到所有与服务端连接的其他客户端的信息;3)客户端向...

    Java Socket实现多线程通信功能示例

    主要介绍了Java Socket实现多线程通信功能,结合具体实例形式较为详细的分析了java多线程通信的原理及客户端、服务器端相应实现技巧,需要的朋友可以参考下

    C#实现Socket网络编程

    该资源中包括简单的Socket通信,多线程的实现方式,以及实现方式等多种实现方式的代码,包括Socket通信协议的原理文档

    C++ 百万并发网络通信引擎架构与实现 (Socket、全栈、跨平台).rar

    C++网络编程技术: 学习使用C++语言进行网络编程的方法和技巧,包括Socket编程、多线程编程等。 高性能、高并发设计: 掌握设计和实现高性能、高并发的网络通信引擎的方法和技术,包括事件驱动、异步IO等。 全栈开发...

    一个服务器对多个客户端的MFC Socket编程示例(实现简单的即时通讯功能)

    在服务端的使用集合CPtrList类用保存客户端的socket对象,思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存客户端的socket对象,而MFC框架提供了CSocket类,它是一个异步通信的类,所以...

    C#中异步Socket通信编程代码实例

    本文将在C#中Socket同步通信的基础上,分析和研究Socket异步编程的实现方法,目的是深入了解Socket编程的基本原理,增强对网络游戏开发...相信大家还记得我们在《C#中Socket通信编程的同步实现》这篇文章中使用多线程来

    客户端和服务器端socket所线程程序

    网络原理的作业,要求可以用tcp和udp进行server和client的通信,多线程处理,server端口可在命令行中设置,client端退出不影响server client和several程序在一个工程内

    嵌入式\(高校应用案例)北航软件学院

    Qt多线程与网络;Qt图形开发;Qt内置数据仓库技术(mysql、sqlite);Qt解析XML。 ZKQ090207 嵌入式Linux系统原理 Linux内核简介;进程管理及调度;中断及中断处理程序;下半部和工作队列;内核同步方法;定时器和...

    java应用与开发 Java实验,综合应用 运用Java语言的各方面知识解决实际问题,提高综合编程能力

    实验一: 关键词: Java控制语法 内容关键词: 语法控制,Java实验 用途: 学习Java语言的控制语法,掌握基础语法知识。...用途: 学习Java中的网络编程,了解Socket通信原理和实现。 实验七: 关键词: 综合实验(选择)

    java Socket实现聊天程序

    接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人...

    嵌入式Linux ARM开发课件第十一讲

    ARM7~ARM9体系结构体系结构介绍 ARM7(9)TDMI处理器内核及指令集介绍 讲解SUMSUNG 44B0X 开发板原理图 讲解SUMSUNG 2410 开发板原理图 ...网络通讯接口,socket通信编程。 串口通讯程序和编程实践 多线程程序设计 等。

    嵌入式Linux ARM开发课件第六讲

    ARM7~ARM9体系结构体系结构介绍 ARM7(9)TDMI处理器内核及指令集介绍 讲解SUMSUNG 44B0X 开发板原理图 讲解SUMSUNG 2410 开发板原理图 ...网络通讯接口,socket通信编程。 串口通讯程序和编程实践 多线程程序设计 等。

    基于socket的客户端与服务端.zip

    使用Winsock编程的方法,应用Winsock API或者Csocket类编程技术结合多线程编程技术,设计并实现网络聊天室。通过程序的调试与运行,理解网络通信程序设计的原理及掌握程序开发的方法。

    C# socket 源码 多人聊天

    套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个...

    端口扫描器的设计与实现(Java).zip

    1.利用Socket通信机制实现一个多线程的端口扫描器。 2.设计要求: 2.1用户界面:用户可以输入IP地址或IP地址段;输入端口号或端口号范围;列表显示主机名、开放的端口及开放端口上相应的服务名称。 2.2端口的...

    嵌入式Linux ARM开发课件第五讲

    ARM7~ARM9体系结构体系结构介绍 ARM7(9)TDMI处理器内核及指令集介绍 讲解SUMSUNG 44B0X 开发板原理图 讲解SUMSUNG 2410 开发板原理图 ...网络通讯接口,socket通信编程。 串口通讯程序和编程实践 多线程程序设计 等。

    嵌入式Linux ARM开发课件第九讲

    ARM7~ARM9体系结构体系结构介绍 ARM7(9)TDMI处理器内核及指令集介绍 讲解SUMSUNG 44B0X 开发板原理图 讲解SUMSUNG 2410 开发板原理图 ...网络通讯接口,socket通信编程。 串口通讯程序和编程实践 多线程程序设计 等。

Global site tag (gtag.js) - Google Analytics