Socket,ServerSocket 用于TCP/IP协议
(1)Socket:
1.Socket 最常用构造方法:
<1>:public Socket(String host,int port);
host是连接所需服务器的名称或者ip地址 , port是端口号
2. 最常用的两个方法:
<1>:public OutputStream getOutputStream()
返回一个输出流,进行数据的传递;可以把返回的输出流进行再包装,传送数据更为方便
<2>:public InputStream getInputStream()
返回一个输入流,进行数据的读取;也可以把输入流进行包装,读取数据时更为快捷
3. 获取Socket的信息:
<1>:public InetAddress getInetAddress()
获得服务器的IP地址
<2>:public int getPort()
获得服务器的端口(一般由服务器随机设置的端口,与服务器端当初建立的时候端口不一致,稍微注意)
<3>:public InetAddress getLocalAddress()
获取本地的地址
<4>:public int getLocalPort()
获取本地的端口
4. 关闭socket的连接(很重要,如果一个连接结束之后,不再使用,一定记着关闭,否则服务器就会负载过重造成崩溃)
<1>:public void close()
关闭与服务器的连接
5. 设置socket的选项,一些常用的配置
<1>:public void setTcpNoDelay(boolean on)
默认为false,会先把数据缓存,到一定数量后一起发送;
如果设为true,则会立即发送数据,常用作游戏设计中,服务器需要快速的得到客户端的响应
<2>:public void setReuseAddress(boolean on)
当接收方的close()方法关闭socket时,网络上还有没发送到这个socket的数据,那么底层的socket不会立即释放本地端口,
会等待一段时间,确保收到了网络上收到的数据,然后再释放端口;当在这个时间段里,又重新使用这个端口,会发送异常,如果设置
属性为true,则会立即关闭底层socket,但是设置这个属性时,不能在创建socket的时候指定host,port;
<3>:public void setSoTimeout(int timeout)
设置接受数据时的等待超时时间
<4>:public void setReceiveBufferSize(int size)
设置接收数据的缓冲区的大小
<5>:public void setSendBufferSize(int size)
设置发送数据缓冲区的大小
(2):ServerSocket
1. 构造函数
<1>public ServerSocket(int port)
port:指定端口号
<2>public ServerSocket(int port,int backlog)
port是端口号,backlog,指定请求队列的长度
2. 最常用的一个方法
<1>:public Socket accept()
接受一个客户的请求,很重要的一个方法,建立与客户的联系;
是一个阻塞方法,如果没有用户的请求,会一直等待
3. 获取一些信息
<1>:public InetAddress getInetAddress()
<2>:public int getLocalPort()
4. ServerSocket选项
<1>public void setSoTimeout(int timeout)
· 设置等待客户连接的超时时间
<2>public void setReuseAddress(boolean on)
设置是否允许重用服务器锁绑定的地址
<3>public void setReceiveBufferSize(int size)
设置接受数据的缓冲区的大小
分享到:
相关推荐
本实验报告主要介绍 Java 中多线程和 Socket 编程的基本概念和实现方法。通过实验,我们掌握了网络编程的基本概念,如客户机、服务器、协议、端口等,并且了解了 Java.net 包中常用的网络编程工具类的功能和使用。 ...
- 在测试Socket通信时,串口调试助手是一个常用的工具,它可以模拟客户端角色,与服务器进行数据交互。通过设置服务器的IP和端口,可以发送和接收消息,验证Socket通信的正确性。 6. **安全和性能考虑**: - 为了...
TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它是Socket连接常用的底层协议之一。在这个“Socket连接-TCP测试”案例中,我们将探讨如何使用Socket进行TCP连接,并...
C#是一种广泛用于构建桌面和Web应用程序的编程语言,其强大的.NET框架提供了丰富的支持来进行网络通信,其中Socket通信是最基础也是最常用的方式之一。本文将深入探讨C#中使用Socket进行网络通信的关键知识点。 ...
在物联网(IoT)领域,Socket编程是一种常用的技术,用于设备间的网络通信。"IotSocket_socket_"这个标题暗示我们将探讨如何使用Socket实现物联网设备之间的交互,包括监听、发送和接收数据。Socket在计算机网络中...
以下是一些常用的构造方法: - `Socket(InetAddress address, int port)`:创建一个连接到指定 IP 地址和端口的 Socket。 - `Socket(InetAddress address, int port, boolean stream)`:创建一个流 Socket 或数据报...
在Windows环境下进行网络编程时,Socket通信是一种常用的技术。Socket接口是操作系统提供的网络通信API,允许应用程序通过TCP/IP协议栈与其他计算机进行数据交换。本文将详细介绍Windows下的Socket通信代码,包括...
在Android平台上进行网络通信时,Socket(套接字)是一种常用的方法,它允许应用程序通过网络发送和接收数据。本示例将重点讲解如何在Android手机上实现Socket通信,包括服务器端(Server)和客户端(Client)的编程...
Socket 编程简介 Socket 编程是 Java 网络编程的基础,它允许开发者创建客户端和服务器端的网络应用程序。Socket 是一种 IPC(Inter-Process Communication,进程间通信)机制,用于在不同的进程之间进行数据交换。...
1. **Socket接口与ServerSocket类** - `java.net.Socket`是Java提供的用于表示TCP连接的类,它实现了客户端的逻辑。在`SocketClient.java`中,通常会创建一个Socket对象,指定服务器的IP地址和端口号,然后通过这个...
2. **TCP/IP协议**: TCP(传输控制协议)是Socket通信中常用的一种协议,它提供面向连接、可靠的数据传输。TCP通过三次握手建立连接,并在数据传输过程中进行错误检测和重传,确保数据的完整性和顺序。 3. **C#中的...
在前一段的工作中,需要开发一套简单的网络数据传输程序。由于平时常用Delphi做点开发,故此次也不例外。...本文在对Indy进行简要介绍的基础上,创建了一组简单的TCP Socket数据传输应用来演示了Indy的使用方法。
1. 创建`Socket`:客户端使用`new Socket(String host, int port)`构造方法连接到指定的服务器,例如`socket = new Socket("localhost", 8888)`,这里的`localhost`表示本地主机,`8888`是服务器端口。 2. 数据传输...
C#作为一种强大的.NET框架支持的语言,提供了丰富的库来实现各种网络通信,其中Socket通信是最基础也是最常用的方式。本项目聚焦于C#中的Socket服务器和Tcp客户端之间的通信,旨在帮助开发者理解和实践网络编程的...
4. **常用方法**: - `Socket connect(SocketAddress endpoint)`:客户端调用此方法连接服务器。 - `ServerSocket(int port)`:服务器端创建ServerSocket,指定监听的端口号。 - `InputStream getInputStream()`...
Socket工具是一种在网络编程中常用的工具,它主要用于实现进程间的通信,特别是在分布式系统中,通过Socket接口,不同计算机上的程序可以相互通信。Socket是TCP/IP协议族的一部分,它提供了低级别的网络通信接口,...
ServerSocket的常用构造方法如下: ```java ServerSocket(int port); // 创建一个ServerSocket,监听指定的端口 ServerSocket(int port, int backlog); // 创建ServerSocket,监听端口,指定最大连接队列长度 ...
在Socket编程中,TCP Socket常用在需要稳定、无错传输的场景,如网页浏览、电子邮件等。 UDP(用户数据报协议)则是一种无连接的、不可靠的通信方式。它不保证数据包的顺序和完整性,但具有更低的延迟和更高的传输...
在计算机网络编程中,Socket接口是一种常用的通信机制,它提供了进程间通信(IPC)和网络通信的能力。本项目“利用Socket界面实现计算三角形面积”是基于Socket编程,旨在创建一个服务器应用程序,能够同时处理多个...
在Java中,`java.net.Socket`继承自`java.lang.Object`,提供了多个构造函数以及一些常用的方法,用于处理网络连接和数据传输。 - **构造函数**:用于创建Socket实例。 - **重要方法**: - `.accept()`:用于...