`
zhaole609
  • 浏览: 342790 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

socket编程小结

阅读更多
Socket建立在TCP/IP协议基础之上,可看做是通信连接两端的收发器,服务器与客户都通过Socket来收发数据。除了Socket的第一个不带参数的构造方法以外,其他构造都会试图建立与服务器的连接,如果连接成功,就返回Socket对象;如果因为某些原因连接失败,就会抛出IOException.
  当客户请求与服务器程序连接时,可能要等待一段时间。默认情况下,客户会一直等待下去,直到连接成功,或者出现异常。如果希望限定等待连接的时间,可通过Connection(SocketAddress endPoint,int timeout)方法来设置超时时间,参数timeout设定超时时间,以毫秒为单位。
  在通信过程中,如果发送方没有关闭Socket,就突然终止程序,接收方在接收数据时会抛出SocketExcetpion。发送方发送完数据后,应该及时关闭Socket或关闭Socket的输出流,这样接收方就能顺利读到输入流的末尾。
  Socket有许多选项,用来控制建立连接、接 收和发送数据,以及关闭Socket的行为。
(1)TCP_NODELAY:表示立即发送数据
(2)SO_RESUSEADDRE:表示是否允许重用Socket所绑定的本地地址
(3)SO_TIMEOUT:表示接收数据时的等待超时时间。
(4)SO_LIINGER:表示当执行Socket的close()方法时,是否立即关闭底层的Socket.
(5)SO_SNFUF:表示发送数据的缓冲区的大小
(6)SO_RCVBUF:表示接收数据的缓冲区的大小
(7)SO_KEEPLIVE:表示对于长时间处于空闲状态的Socket,是否要自动把它关闭。
(8)OOBINLINE:表示是否支持发送一个字节的TCP紧急数据。
分享到:
评论

相关推荐

    SOCKET编程小结

    ### SOCKET编程小结 #### 一、MFC WinSock编程简介 MFC(Microsoft Foundation Classes)是微软提供的一套用于Windows平台的C++类库,它简化了Windows应用程序的开发过程。WinSock则是Windows下的Socket编程接口,...

    c_socket编程入门

    #### 五、小结 通过以上介绍,我们了解到在 .NET Framework 中如何使用 `Socket` 类进行网络编程。从创建 Socket 对象到实现基本的网络通信,再到具体的操作方法,都给出了详细的解释和示例。掌握这些基础知识后,...

    Delphi Socket 通信编程要点小结

    ### Delphi Socket 通信编程要点小结 #### 一、引言 在现代通信系统开发过程中,基于Delphi的Socket编程技术因其高效性与灵活性而备受青睐。本文将结合实践经验,对Delphi环境下进行Socket通信时所遇到的关键问题...

    SOCKET 网络编程 计算机网络 作业 客户端 服务器端 client svever

    在计算机网络领域,Socket编程是一种基础且至关重要的技术,它为客户端和服务器端的应用程序提供了进行数据通信的接口。Socket在网络层面上实现了进程间的通信,是互联网应用的基础,广泛应用于各种服务,如HTTP、...

    Java Socket通信小结

    Java Socket通信小结 在Java编程中,Socket通信是一种基于TCP/IP协议的网络通信方式,它允许两个应用程序之间建立可靠的、双向的数据传输连接。本文将深入探讨Java Socket通信的基础知识,以及如何通过Java实现一个...

    Socket网络编程学习笔记(1)

    #### 四、小结 网络编程涉及多个层面的概念和技术,从IP地址的解析和操作到DNS的查询,每一步都需要精确的控制。通过深入理解`IPAddress`、`IPEndPoint`以及DNS相关类的使用,开发者可以构建出高效且可靠的网络应用...

    Linux环境下的Socket编程.txt

    ### 小结 Socket编程是构建网络应用程序的基础。通过掌握以上介绍的关键知识点,开发者可以在Linux环境下有效地实现客户端和服务器之间的通信。无论是对于初学者还是有一定经验的开发者来说,这些基础知识都是十分...

    TCP SOCKET用法小结v1.1.doc

    TCP SOCKET是网络编程中的核心部分,特别是在Linux环境中,它是实现TCP/IP通信的基础。本文主要针对TCP SOCKET的使用进行总结,涵盖了其基本概念、创建过程、配置方式以及阻塞与非阻塞模式,以及setsockopt()函数的...

    Socket编程

    ### 小结 Socket编程是网络编程的基础,通过掌握Socket的原理及使用方法,能够更好地实现网络应用程序之间的通信。无论是面向连接的TCP协议还是无连接的UDP协议,都依赖于Socket来完成数据的发送与接收。理解Socket...

    网络安全编程小结.ppt

    1. **Socket编程**:Socket是网络编程的基础,它为应用程序提供了一种在不同主机间进行数据交换的机制。在Windows环境下,可以使用Winsock库来实现Socket编程。Winsock API提供了诸如`socket()`、`bind()`、`listen...

    C语言中socket相关网络编程函数小结

    在C语言中,进行网络编程时,socket相关函数是至关重要的。这些函数允许开发者创建、连接和管理网络连接,从而实现不同计算机之间的通信。本文将详细介绍C语言中的几个关键socket函数,包括`socket()`、`connect()`...

    Java_TCPIP_Socket编程

    - **Selector小结**:总结Selector的使用技巧。 - **数据报(UDP)信道**:介绍如何使用UDP Channel进行数据通信。 #### 第6章 深入剖析 这一章进一步探讨了套接字编程的一些高级主题,包括缓冲机制、性能优化、...

    Linux网络编程(Socket技术)

    **5.7 小结** 这一章节概述了多种网络协议的基本概念,这些协议构成了现代互联网的基础。 #### 七、Berkeley套接字 **6.1 引言** Berkeley套接字是一组用于实现网络通信的API,最初是在Berkeley Unix中开发的。 ...

    Java_TCPIP_Socket编程(中文版)

    - **Selector小结**:总结使用`Selector`的关键步骤和最佳实践。 - **数据报(UDP)信道**:描述如何使用`DatagramChannel`进行UDP通信。 #### 第6章 深入剖析 - **缓冲和TCP**:深入探讨TCP协议中的缓冲机制...

    Java+TCPIP+Socket编程(中文版)

    ### Java+TCPIP+Socket编程(中文版) —— 关键知识点详解 #### 第1章 简介 - **计算机网络、分组报文和协议** 计算机网络是通过通信设备和线路将地理位置分散、功能独立的多个计算机系统互连起来,以功能完善的...

    c# 网络编程(socket)

    #### 小结 Socket 编程是 C# 网络编程中的核心部分,通过 `System.Net.Sockets` 命名空间中的 `Socket` 类,可以实现服务器与客户端之间的通信。了解 AddressFamily、SocketType 和 ProtocolType 的概念对于正确...

    虚谷与掌控的网络编程(Socket)1

    虚谷与掌控的网络编程...八、小结 网络编程是一个庞杂的主题,涉及到很多概念和技术。了解网络通信的基本概念、IP地址、端口号、TCP/IP网络模型、TCP和UDP、Socket网络编程等知识点,对于学习网络编程非常重要。

    网络编程课程设计报告-Android-Socket-聊天室.doc

    通过这份报告,我们可以了解到构建一个基于Android的Socket聊天室应用涉及的技术点,包括Socket编程原理、服务器和客户端的工作流程,以及如何设计和实现聊天系统的各种功能。这对于理解和实践网络编程,尤其是...

Global site tag (gtag.js) - Google Analytics