JAVA网络编程TCP通信

Socket简介:

Socket称为“套接字”,描述IP地址和端口。在Internet上的主机一般运行多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定在一个端口上,不同的端口对应于不同的服务。Socket和ServerSocket类位于java.net包中。ServerSocket用于服务端,Socket是建立网络连接时使用的。连接成功时,应用程序两端都会产生一个Socket实例,通过操作这个实例完成所需会话。

Socket常用方法:

-int getLocalPort() 获取本地使用的端口号

-InetAddress getLocalAddress() 获取套接字绑定的本地地址

-int getPort() 获取远端使用的端口号

-InetAddress.getInetAddress() 获取套接字绑定的远端地址

InetAddress常用方法:

-String getCanonicalHostName() 获取此IP地址的完全限定域名。

-String getHostAddress() 返回IP地址字符串

1 //获取本地地址和端口号:
2   public void testSocket() throws Exception{
3       Socket socket=new Socket("localhost",8088);
4       InetAddress add=socket.getLocalAddress();
5       System.out.println(add.getCanonicalHostName());
6       System.out.println(add.getHostName());
7       System.out.println(add.getLocalPort());
8   }
1 //获取远端地址和端口号:
2     public static void testSocket() throws Exception{
3         Socket socket=new Socket("localhost",8088);
4         InetAddress inetAdd=socket.getInetAddress();
5         System.out.println(inetAdd.getCanonicalHostName());
6         System.out.println(inetAdd.getHostName());
7         System.out.println(socket.getLocalPort());
8     }

获取网络输入流和网络输出流

通过Socket获取输入流与输出流,主要使用一下两个方法

-InputStream getInputStream() 用于返回此套接字的输入流

-OutStream getOutputStream() 用于返回此套接字的输出流

public static void testSocket() throws Exception {
        Socket socket = new Socket("localhost", 8088);
        OutputStream out = socket.getOutputStream();
        OutputStreamWriter osw = new OutputStreamWriter(out, "UTF-8");
        PrintWriter pw = new PrintWriter(osw, true);
        pw.println("输出的内容");//发送内容
        InputStream in=socket.getInputStream();
        InputStreamReader isr=new InputStreamReader(in, "UTF-8");
        BufferedReader br=new BufferedReader(isr);
        br.readLine();//读取接到的内容
 }

注意:当使用完Socket进行通讯完毕后,要关闭Socket以释放系统资源

-void close() 关闭套接字,同时也代表关闭了获取的输入与输出流。

TCP与UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。聊天工具使用TCP协议

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! 游戏多使用UDP协议

时间: 2024-10-13 22:14:59

JAVA网络编程TCP通信的相关文章

JAVA网络编程-----tcp

java采用TCP传输时利用Socket和ServerSocket Socket和ServerSocket 建立客户端和服务端 建立连接后,通过Socket中的IO流进行数据的传输. 关闭Socket 同样,客户端与服务端是两个独立的应用程序. 演示tcp传输 1.   tcp分客户端和服务端 2.   客户端对应的对象是Socket,服务端对应的对象是ServerSocket. 客户端: 通过查阅socket对象,发现在该对象建立时,就可以连接指定主机, 因为tcp是面向连接的,所以在建立so

java网络编程Socket通信详解

Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket.像大家熟悉的QQ.MSN都使用了Socket相关的技术.下面就让我们一起揭开Socket的神秘面纱. Socket编程 一.网络基础知识(参考计算机网络)            关于计算机网络部分可以参考相关博客:           <TCP/IP协议栈及OSI参考模型详解> http://wangdy.blog.51cto.com/3845563/

Java网络编程TCP程序,服务器和客户机交互流程以及基本操作步骤。

1.什么是网络编程 网络编程其实就是实现两个计算机的数据交换(交互). 可以通过直接或间接的通过网络协议与其他的计算机进行通讯.(HTTP协议,TCP/IP协议等) 2.Tcp网络编程的实现流程 主要分为服务器端(Server)和客户端(Client). 通过这个图我们其实就可以了解了实现服务器和客户机交互过程是怎么样的了. 实现这些原理最重要的是Socket类也叫做套接字.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 服务器端 1.首先创建ServerSocket对象并

JAVA网络编程--UDP通信

首先网络传输数据需了解例如以下三点 1.找到对方IP 2.数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序用数字进行了标识.为了方便称呼这个数字,叫做port,逻辑port 3.  定义通信规则.这个通信规则称为协议. 国际组织定义了通用协议TCP/IP. 127.0.0.1本机回环地址 不易记忆,可用主机名 主机名:localhost 0-65535port范围 0-1024系统使用或保留port .当中mysql的port号为 3306 一.UDP UDP相对于

Java网络编程Socket通信

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议     UDP (User Datagram Protocol 用户数据报协议)是OSI(Open System Interconnection开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务 TCP与UDP基本区别   1.基于连接与无连接   2.TCP要求系统资源较多,UDP较少:    3.UDP程序结构较

java 网络编程 TCP协议 java 服务器和客户端 java socket编程

一个 HelloWord 级别的 Java Socket 通信的例子.通讯过程:        先启动 Server 端,进入一个死循环以便一直监听某端口是否有连接请求.然后运行 Client 端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接受消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求.客户端输入字符串后按回车键,向服务器发送数据.服务器读取数据后回复客户端数据.这次请求处理完毕,启动的线程消亡.如果客户端接收到 "OK" 之外的返回数据,会再次

java网络编程TCP

图片来自网络 [服务端] import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; //服务端 public class MyServer { public static void main(String[] args) { ServerSocket serverSocket =

Java网络编程のTCP/IP

TCP/IP参考模型和TCP/IP协议 与OSI参考模型相似,TCP/IP参考模型汲取了网络分层的思想,而且对网络的层次做了简化,并在网络各层都提供了完善的协议,这些协议构成了TCP/IP协议集,简称TCP/IP协议. TCP/IP参考模型分为4个层次:应用层.传输层.网络互连层和主机-网络层.在每一层都有相应的协议.确切地说,TCP/IP协议应该称为TCP/IP协议集,它是TCP/IP参考模型的除了主机-网络层(由第三方提供)以外的其他三层的协议的集合,而IP协议和TCP协议则是协议集中最核心

JAVA网络编程TCP案例

服务端 import java.net.*; import java.io.*; public class TCPServerSocket { public static void main(String[] args) throws Exception{ String data = ""; //while (true) { try{ ServerSocket ss = new ServerSocket(8888); Socket s = ss.accept(); InputStrea