Java TCP入门例子
来源:互联网 发布:用哪个软件刷机好 编辑:程序博客网 时间:2024/05/18 01:49
Java TCP入门例子
TCP套接字
Java为TCP协议提供了两个类:Socket类和ServerSocket类。一个Socket实例代表了TCP连接的一端。一个TCP连接是一条抽象的双向信道,两端分别由IP地址和端口号确定。
TCP客户端
典型的TCP客户端要经过下面三步:
1.创建一个Scoket实例:构造函数向指定的远程主机和端口建立一个TCP连接。
2.通过套接字的输入输出流(I/O streams)进行通信:一个Scoket连接实例包括一个InputStream和一个OutputStream,它们的用法同于其他Java输入输出流。
3.使用Scoket类的close()方法关闭连接。
TCP服务器端
1.创建一个ServerSocket实例,并指定本地端口。此逃接字的功能是侦听该指定端口收到的连接。
2.重复执行:
a.调用ServerSocket的accept()方法以获取下一个客户端连接,基于新建立的客户端连接,创建一个Socket实例,并由accept()方法返回。
b.使用所返回的Socket实例的InputStream和OutputStream与客户端进行通信。
c.通信完成后,使用Socket类的Close()方法关闭该客户端套接字连接。
TCP客户端
TCP服务器端
原理图:
下面程序示例:
TcpServer.java
package com.iboxpay.tcp;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TcpServer {public static void main(String[] args) throws IOException {BufferedReader buffer = null;ServerSocket server= null;Socket s = null;InputStream is = null;OutputStream os = null;DataOutputStream dos = null;try {server = new ServerSocket(8080);s = server.accept();is = s.getInputStream();os = s.getOutputStream();System.out.println("-----------welcome to tcp socket-------");buffer = new BufferedReader(new InputStreamReader(is));dos = new DataOutputStream(os);System.out.println(buffer.readLine());//输出} catch (IOException e) {e.printStackTrace();}finally{buffer.close();os.close();is.close();s.close();server.close();}}}TcpClient.java
package com.iboxpay.tcp;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;public class TcpClient{public static void main(String[] args) { String[] str = {"172.30.5.58","8080"}; try {client(str);} catch (IOException e) {e.printStackTrace();}} public static void client(String[] str) throws IOException{Socket s = null;InputStream ips = null;OutputStream ops = null;BufferedReader brKey = null;DataOutputStream dos = null;BufferedReader brNet = null;try { //Socket s=new Socket(InetAddress.getByName("192.168.0.213"),8001); if(str.length < 2) { System.out.println("Usage:java TcpClient ServerIP ServerPort"); return; } //建立Socket s =new Socket(InetAddress.getByName(str[0]),Integer.parseInt(str[1])); ips =s.getInputStream(); ops =s.getOutputStream(); dos = new DataOutputStream(ops); brNet = new BufferedReader(new InputStreamReader(ips)); while(true) { brKey = new BufferedReader(new InputStreamReader(System.in));//键盘输入 String strWord = brKey.readLine(); dos.writeBytes(strWord + System.getProperty("line.separator")); if(strWord.equalsIgnoreCase("quit")) break; } }catch(Exception e){e.printStackTrace();} finally{dos.close(); brNet.close(); brKey.close(); s.close(); }}}
2 0
- Java TCP入门例子
- java tcp简单例子
- java中tcp小例子
- java之TCP入门
- java入门例子
- java lucene入门例子
- JAVA官方入门例子
- IceBox java 入门例子
- java 多线程 例子 入门博文一
- kafka入门例子 for java
- Java HttpClient 的入门例子
- java线程同步入门例子
- java TCP/IP Socket编程例子
- TCP-Java-客户机/服务器应用程序例子
- 一个java的TCP通信例子
- ## Java TCP 通信的简单例子 ##
- java se TCP服务端,客户端例子
- java中tcp多人对话的一个tcp例子
- 杭电acm2009求数列的和
- 九度题目1186:打印日期
- Person-JAVA
- android 滑动相关(一) : OnScrollListener
- AIDL——实现机制浅析
- Java TCP入门例子
- swift 语言 初接触1
- 循环列表和双向链表
- 【Question】——在myeclipse中启动server是提示异常
- 显示字符在Unicode的顺序位置或者数字在Unicode表中的相应位置上的字符
- 探索C++6.0
- Buying Requests Of film faced plywood Now jhwt
- 类型转换-JAVA
- 卡片游戏!!!