这里有新鲜出炉的 Java 设计模式,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
下面小编就为大家带来一篇老生常谈 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 地址字符串
- //获取本地地址和端口号:
- public void testSocket() throws Exception{
- Socket socket=new Socket("localhost",8088);
- InetAddress add=socket.getLocalAddress();
- System.out.println(add.getCanonicalHostName());
- System.out.println(add.getHostName());
- System.out.println(add.getLocalPort());
- }
- //获取远端地址和端口号:
- public static void testSocket() throws Exception {
- Socket socket = new Socket("localhost", 8088);
- InetAddress inetAdd = socket.getInetAddress();
- System.out.println(inetAdd.getCanonicalHostName());
- System.out.println(inetAdd.getHostName());
- System.out.println(socket.getLocalPort());
- }
获取网络输入流和网络输出流
通过 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 协议
以上这篇老生常谈 Java 网络编程 TCP 通信 (必看篇) 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持 PHPERZ。
来源: http://www.phperz.com/article/17/0824/338551.html