ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket
构造方法:
ServerSocket(int port):创建绑定到特定端口的服务器套接字
ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。
ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
Socket:客户端要与服务器建立连接,必须先创建一个Socket对象
常用构造方法
Socket(String host, int port):创建一个流套接字并将其连接到指定主机上的指定端口号。
Socket(InetAddress address, int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
服务器端程序调用ServerSocket类中的accept()方法等待客户端的连接请求,一旦accept()接收了客户端连接请求,该方法返回一个与该客户端建立了专线连接的Socket对象,不用程序去创建这个Socket对象。建立了连接的两个Socket是以IO流的方式进行数据交换的,Java提供了Socket类中的getInputStream()返回Socket的输入流对象,getOutputStream()返回Socket的输出流对象
创建一个TCP服务器端程序的步骤:
1.建立一个服务器socket并开始监听.
2.使用accept()方法取得新的连接.
3.建立输入和输出流.
4.在已有的协议上产生会话.
5.关闭客户端流和socket.
6.回到第二步或者到第七步.
7.关闭服务器socket
ServerSocket server=new ServerSocket(port)
Socket s=server.accept();
ObjectInputStream in=new ObjectInputStream(s.getInputStream());
ObjectOutputStream out=new ObjectOutputStream(s.getOutputStream());
out.close();
in.close();
s.close();
创建一个TCP客户端程序的步骤:
1).创建Socket
2). 获得I/O流
3). 对I/O流进行读写操作
4). 关闭I/O流
5). 关闭Socket
Socket connection = new Socket(127.0.0.1, 7777);
ObjectInputStream input=new ObjectInputStream(connection.getInputStream());
ObjectOutputStream utput=new ObjectOutputStream(connection.getOutputStream());
input.close();
output.close();
connection.close();
注意:
1、不要在服务程序中出现static属性,因为是所有客户端共享的;
2、不要从两个Socket中创建流用于通讯,会出现通讯错误,原因:流的头不一样
3、不要从一个客户端多次创建TCP链接,那就成了两个客户端了;
4、要控制链接数,否则资源可能不够用,使用方法如下:
public ServerSocket(int port,int backlog) throws IOException
backlog:链接数
分享到:
相关推荐
Java中实现UDP协议编程详细文档,详解了在Java中使用UDP协议编程的相关类,给出一个UDP的服务端和客户端交互通信的例子,服务端循环等待客户端发送的信息,并对其进行回应,客户端向服务端发送信息,并接收服务端的...
什么是UDP协议 UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,...
JAVA udp 协议编程文档,包括类的说明和简单案例
完整版的,经过调试的一个java环境下的基于UDP协议的聊天程序,udp协议聊天程序、java开发、计算机网络课程设计
通过java网络编程深入理解UDP协议通信,与TCP的区别等等 源码包每一行都有注释,在代码里面每一个类都有详细的注释来解释这个类的功能这个方法的功能,调用哪一个类的哪一个功能等等。 压缩包包含实验报告(实验原理...
基于java的UDP协议编程.pdf
java使用udp协议进行数据收发处理,java使用udp协议进行数据收发处理
计算机网络课程设计——端口扫描器的实现 1.利用Socket通信机制实现一个多线程的端口扫描器。 2.设计要求: 2.1用户界面:用户可以输入IP地址或IP地址段;...2.3 采用Java网络编程包java.io中提供的编程接口实现。
本程序主要演示Java网络编程中UDP协议的使用, 实现简单聊天,
在客户端左击绘一个圆环,同时服务端显示同样的圆环;右击绘一个圆形,同时服务端显示同样的圆形。
java网络开发,使用UDP协议进行通信,源代码可以直接运行,并且是可视化界面,方便大家学习
用java编写的基于UDP和TCP两种协议编写的Socket(网络编程)案列
主要介绍了java编程实现基于UDP协议传输数据的方法,较为详细的分析了UDP协议的原理及Java编程实现数据传输客户端与服务器端的相关技巧,需要的朋友可以参考下
基于UDP协议以及java GUI的编程,通过java编写窗体,基于UDP协议实现通信,其中图片,窗体都是应用java的原生API来进行编写,不需要多余的jar包,图片可以自己进行更换。
c语言编程实现tcp和udp通信的源代码,有客户端和服务器端
一个多用户聊天软件 采用java实现 socket编程 实现了服务器端和客户端
计算机网络原理-TCP协议和UDP协议的的Socket编程实现(内含C语言,Java,python三种语言实现源码+实验报告书
udp网络编程用来了解 udp协议通信。。。。。。。。。。。。
使用 UDP协议的 Socket 网络程序设计 java编程
UDP协议在IP协议之上添加的功能虽然非常有限,但...通过完成本实验项目,巩固以前所学的面向对象的分析和设计技术,掌握UDP套接字的编程范型,熟悉Java对UDP协议的支持类的编程接口,并能熟练运用于UDP协议应用编程中。