关键词:
开发网络通信软件,如QQ,阿里旺旺等即时通讯软件时,Socket通信是必备的基础知识,今天跟大家谈谈Socket通信中TCP方式通信的软件开发步骤及主要代码讲解:
第一步:开发服务器端程序Server.java,源代码如下:
package T16; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class Server { //服务器端程序 public static void main(String[] args) { /** * 1.创建服务器端ServerSocket,指定端口,有多块网卡时可以指定IP * 参数1:端口 * 参数2:等待排队的客户端数量 */ try { //1.创建服务器端ServerSocket ServerSocket serverSocket = new ServerSocket(8888,5); System.out.println("服务器启动成功:"+serverSocket.toString()); //2.等待客户连接 Socket clientSocket = serverSocket.accept(); System.out.println("有客户来,请接客..........."); //3.绑定输入流 InputStream is = clientSocket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); //4.绑定输出流 OutputStream os = clientSocket.getOutputStream(); PrintStream ps = new PrintStream(os); //5.接收数据 System.out.println("服务器端接收:"+br.readLine()); //6.发送数据 String str = "欢迎连接到本服务器."; ps.println(str); //7.关闭socket通信 clientSocket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
第二步:开发客户端程序Client.java,源代码如下:
package T16; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Calendar; public class Client { /** * 客户端程序: * 1.指定服务器的IP地址; * 2.指定服务器的端口; * * */ public static void main(String[] args) { try { //1.创建客户端Socket; Socket socket = new Socket("127.0.0.1",8888); System.out.println("连接服务器成功...."); //2.绑定输入输出流 OutputStream os = socket.getOutputStream(); PrintStream ps = new PrintStream(os); InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); //3.发送数据 ps.println("我是客户端,请求连接..."); //4.接收数据 System.out.println("客户端接收服务器数据:"+br.readLine()); //5.关闭Socket socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
第三步:先运行服务器端程序,再运行客户端程序,可以看到网络传输后的打印结果
说明:该程序是一个比较简单的入门级代码,整个程序只能进行一次网络通信,如果需要做成一个可以不断的通信软件的软件,还要用到多线程,IO流操作,数据库操作等诸多技术综合应用。
如果大家有兴趣可以看看我的 java从入门到精通+QQ即时通讯软件项目实训的教学视频,链接地址:http://edu.51cto.com/course/6946.html
java系列讲座二:socket网络通信实现聊天软件项目讲解(udp)
上一篇我们讲了通过TCP方式实现网络通信软件开发的原理,思路及实现,今天跟大家谈谈Socket通信中UDP方式通信的软件开发步骤及主要代码讲解,UDP实现方式实现的通信软件特点是不分客户端与服务器端,一个... 查看详情
socket通信机制(学习总结)
...的端点,由一个地址和一个端口来标识。2、两种通信方式:有连接方式TCP、无连接方式UDP(用户数据报协议)。二、有连接方式TCP1、通信双方在开始时必须进行一次连接过程(三次握手),建立一条... 查看详情
java网络编程-tcp通信(代码片段)
...、可靠的传输数据的协议传输前,采用“三次握手”方式,点对点通信,是可靠的在连接中可进行大数据量的传输TCP通信模式:在java中只要是使用java.net.Socket类实现通信,底层即是使用了TCP协议编写客户端代码Socke... 查看详情
java:实现nio方式实现tcp通信
1.声明当前内容主要为复习使用Nio方式实现tcp通信,实现tcp之间的信号传递和解析2.Server端/****@authorhy*@createTime2022-02-1209:48:24*@description当前内容为使用Nio方式操作socket进行通信操作**/publicclassNioServerSocketTest publicstatic 查看详情
socket与tcp,udp有啥关系?
...信的API名称。TCP/UDP是OSI模型的第四层中定义的两种通信方式。也就是说,SOCKET是API,而TCP/UPD是通信协议,两种根本不同的东西。语言表达的例子:用SOCKET实现TCP(或者UDP)通信。(相反,TCP或者UDP通信也可以不使用SOCKET实现)参考技... 查看详情
tcp案例代码(代码片段)
...录TCP网络编程的案例代码普通服务端/客户端代码多线程方式代码TCP网络编程的案例代码描述客户端与服务端的通信普通服务端/客户端代码服务端importjava.io.*;importjava.net.ServerSocket;importjava.net.Socket;/***服务端*/publicclassServerSocketTestp... 查看详情
java应用使用网络编程进行socket通信
...什么是socket通信Socket通信是网络编程中最常见的一种通信方式,它基于TCP/IP协议栈,通过网络建立两台计算机之间的连接,并在连接之间传输数据。Socket通信可以在不同的计算机上运行不同的程序之间进行数据交换,它是构建网... 查看详情
go语言快速入门ipc之socket9
...但是也具局限性,当通信双方在不同的机器上的时候通信方式更多采用Socket方式。在这篇文章中我们将会继续探索如何使用go所提供的net包等实现TCP和UDP方式的Socket通信。传输层协议OSI模型OSI七层模型,简单来说,下三层主要负... 查看详情
socket编程通过socket实现tcp编程
...1.TCP协议是面向对象连接、可靠的、有序的,以字节流的方式发送数据。2.基于TCP协议实现网络通信的类:客户端----Socket类服务器端----ServerSocket类一、通信过程(Socket通信模型)Socket通信模型用下图所示: 1、在服务端建立... 查看详情
java网络多线程专题(代码片段)
...UDP:InetAddress类:相关方法:代码展示:Socket:TCP网络通信编程应用案例(使用字节流)服务端代码客户端代码:TCP网络通信编程应用案例2服务端代码:客户端代码 查看详情
socket的应用案例
...定位符,通过URL可以直接读取和写入网络上的数据。3、Socket:使用TCP协议实现网络通信的Socket相关类4、Datagram:使用UDP协议,将数据保存到数据报中,通过网络进行通讯。InetAddress的使用 publicstaticvoidmain(String[]args)thro 查看详情
tcp通信
1、TCP通信过程socket在Tcp/IP分层的哪里?socket是应用层与Tcp/IP协议族通信中间软件抽象层,是一组接口。在设计模式中,其实就是一个门面模式,他把复杂的协议族隐藏在接口后面,对用户来说,一组简单的接口就是全部,让socke... 查看详情
java网络编程之tcp的socket通信
1、客户端MyClient.java1importjava.io.*;2importjava.net.*;34publicclassMyClient5{6publicstaticvoidmain(String[]args)throwsException7{8Sockets=newSocket("192.168.1.1",30000);9//客户端启动ClientThread线程不断读取来自服务器的 查看详情
java实现tcp通信
1.概述通过ServerSocket与Socket实现的TCP的通信,这个例子配合了swing使用,其实作者之前发过一篇ServerSocker与Socket的通信,在这里,这边文章就是在这个例子上修改而成的.其实原理很简单的,就是一个服务端一个客户端,服务端这边创建好S... 查看详情
计算机网络——socket实验2(代码片段)
...二、实验内容三、实验环境四、实验步骤与过程1套接字Socket1.1什么是Socket1.2Socket的TCP通信1.3Socket的UDP通信2Socket类与ServerSocket类编写一个C/S程序附录Server.javaClient.javaChatRoom.java一、实验目的掌握Socket的TCP通信、Socket的UDP通信二、... 查看详情
基于tcp的socket通信(代码片段)
#socket#socekt是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,socket其实就是一个门面模式,它#把复杂的tcp/ip协议族隐藏在socket接口后面,对用户来说,一组简单的接口就是全部,让socket去组织数据,... 查看详情
什么叫套接字。socket?
...数据报套接字提供了一种不可靠的、非连接的数据包通信方式。所以数据报套接字使用UDP协议,当然,winsock2版本还支持其他协议。 查看详情
java网络编程之tcp网络编程
一、基于Socket的TCP编程Java语言的基于套接字编程分为服务端编程和客户端编程,其通信模型如图所示: 二、客户端Socket的工作过程(四个基本步骤)1、创建Socket根据指定服务端的IP地址或端口号构造Socket类对象。若服务器端响... 查看详情