老生常谈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通信(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
java 网络编程之TCP通信和简单的文件上传功能实例
-
java 网络编程之TCP通信和简单的文件上传功能实例
-
Java网络编程之TCP通信完整代码示例
-
Java网络编程——TCP通信原理(这个是真简单哦!!!点进来看看就知道了)
-
java网络编程_java网络编程(2)socket通信案例(TCP和UDP)
-
Java中的网络编程(UDP通信、TCP通信、Socket编程)
-
基于Java的Socket类Tcp网络编程实现实时聊天互动程序(二):Tcp通信的过程及代码编写
-
基于Java的Socket类Tcp网络编程实现实时聊天互动程序(二):Tcp通信的过程及代码编写
-
Java网络编程——TCP通信原理(这个是真简单哦!!!点进来看看就知道了)