TCP通讯实例两则
2016-05-10 19:38
591 查看
//**************************************DEMO_1*************************************************//
package cn.xlc.net.tcp;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
//TCP客户端
public class Tcpclient {
public static void main(String[] args) throws UnknownHostException, IOException {
// TCP客户端
/*1.建立TCP客户端服务
*1.1因为是面向连接的 ,必须有链接才可以进行通信
*1.2在创建客户端时 ,就必须明确目的主机和端口
* 2.一旦链接建立,就有了传输数据的通道,就可以在同道中人进行数据传输。
* 这个传输其实就是通过流实现的
* 3.只要获取socket io中的写动作就可以将数据写到socket流中发给服务端
* 4.关闭资源
*/
System.out.println("客户端启动。。。。");
//1.创建客户端对象,明确目的地址和端口
Socket s =new Socket(InetAddress.getLocalHost(), 10003);
//2.获取socket流中的输出流,将数据发送给服务端
OutputStream out =s.getOutputStream();
//3.通过输出流写数据
out.write("TCP来了".getBytes());
//4.关闭资源
s.close();
}
}
***********************************************************************************
package cn.xlc.net.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
//TCP服务端
public class TCPServer {
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
/*创建TCP服务端
* 1.创建Server socket服务器端服务,
* 服务器端为了让客户端连接上,必须提供一个端口,监听一个端口
* 2. 获取客户端对象,通过客户端socket流和客户端进行通信
* 3.获取客户端socket流的读取流。
* 4.读取数据并显示在服务器端
* 5.关闭资源
*/
System.out.println("服务器端启动.....");
// 1.创建服务器端对象
ServerSocket ss=new ServerSocket(10003);
// 2.获取客服端对象
Socket s=ss.accept();
String ip =s.getInetAddress().getHostAddress();
System.out.println(ip+"....connected");
//3.通过客户端对象获取socket流的读取流
InputStream in=s.getInputStream();
byte buf[]=new byte[1024];
int len=in.read(buf);
String str=new String(buf,0,len);
System.out.println(str);
s.close();
}
}
//**************************************DEMO_2*************************************************//
package cn.xlc.net.tcp2;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
//TCP客户端
public class tcpclient2 {
public static void main(String[] args) throws UnknownHostException, IOException {
// 发送数据给服务器端,并读取服务端反馈的数据
System.out.println("客户端2启动");
// 1.创建socket客户端
Socket s = new Socket(InetAddress.getLocalHost(), 10004);
// 2.获取socket输入流,写数据
OutputStream out = s.getOutputStream();
out.write("服务端 我来了。。。".getBytes());
// 获取socket的读取流,读取服务端发回的数据
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
String str = new String(buf, 0, len);
System.out.println(str);
s.close();
}
}
**************************************************************************************************
package cn.xlc.net.tcp2;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer2 {
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
/*
* 度无端收到客户端数据并反馈数据给客户端
*/System.out.println("服务器2启动");
// 1.创建服务端socket对象
ServerSocket ss=new ServerSocket(10004);
// 2.获取客户端对象
Socket s=ss.accept();
String ip =s.getInetAddress().getHostAddress();
System.out.println(ip+"....connected");
// 3.获取socket读取流
InputStream in =s.getInputStream();
byte buf[]=new byte[1024];
int len=in.read(buf);
String str =new String(buf,0,len);
System.out.println(str);
// 4.给客户端反馈数据,socket输出流
OutputStream out=s.getOutputStream();
out.write("我知道你来了".getBytes());
s.close();
ss.close();
}
}
package cn.xlc.net.tcp;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
//TCP客户端
public class Tcpclient {
public static void main(String[] args) throws UnknownHostException, IOException {
// TCP客户端
/*1.建立TCP客户端服务
*1.1因为是面向连接的 ,必须有链接才可以进行通信
*1.2在创建客户端时 ,就必须明确目的主机和端口
* 2.一旦链接建立,就有了传输数据的通道,就可以在同道中人进行数据传输。
* 这个传输其实就是通过流实现的
* 3.只要获取socket io中的写动作就可以将数据写到socket流中发给服务端
* 4.关闭资源
*/
System.out.println("客户端启动。。。。");
//1.创建客户端对象,明确目的地址和端口
Socket s =new Socket(InetAddress.getLocalHost(), 10003);
//2.获取socket流中的输出流,将数据发送给服务端
OutputStream out =s.getOutputStream();
//3.通过输出流写数据
out.write("TCP来了".getBytes());
//4.关闭资源
s.close();
}
}
***********************************************************************************
package cn.xlc.net.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
//TCP服务端
public class TCPServer {
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
/*创建TCP服务端
* 1.创建Server socket服务器端服务,
* 服务器端为了让客户端连接上,必须提供一个端口,监听一个端口
* 2. 获取客户端对象,通过客户端socket流和客户端进行通信
* 3.获取客户端socket流的读取流。
* 4.读取数据并显示在服务器端
* 5.关闭资源
*/
System.out.println("服务器端启动.....");
// 1.创建服务器端对象
ServerSocket ss=new ServerSocket(10003);
// 2.获取客服端对象
Socket s=ss.accept();
String ip =s.getInetAddress().getHostAddress();
System.out.println(ip+"....connected");
//3.通过客户端对象获取socket流的读取流
InputStream in=s.getInputStream();
byte buf[]=new byte[1024];
int len=in.read(buf);
String str=new String(buf,0,len);
System.out.println(str);
s.close();
}
}
//**************************************DEMO_2*************************************************//
package cn.xlc.net.tcp2;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
//TCP客户端
public class tcpclient2 {
public static void main(String[] args) throws UnknownHostException, IOException {
// 发送数据给服务器端,并读取服务端反馈的数据
System.out.println("客户端2启动");
// 1.创建socket客户端
Socket s = new Socket(InetAddress.getLocalHost(), 10004);
// 2.获取socket输入流,写数据
OutputStream out = s.getOutputStream();
out.write("服务端 我来了。。。".getBytes());
// 获取socket的读取流,读取服务端发回的数据
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
String str = new String(buf, 0, len);
System.out.println(str);
s.close();
}
}
**************************************************************************************************
package cn.xlc.net.tcp2;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer2 {
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
/*
* 度无端收到客户端数据并反馈数据给客户端
*/System.out.println("服务器2启动");
// 1.创建服务端socket对象
ServerSocket ss=new ServerSocket(10004);
// 2.获取客户端对象
Socket s=ss.accept();
String ip =s.getInetAddress().getHostAddress();
System.out.println(ip+"....connected");
// 3.获取socket读取流
InputStream in =s.getInputStream();
byte buf[]=new byte[1024];
int len=in.read(buf);
String str =new String(buf,0,len);
System.out.println(str);
// 4.给客户端反馈数据,socket输出流
OutputStream out=s.getOutputStream();
out.write("我知道你来了".getBytes());
s.close();
ss.close();
}
}
相关文章推荐
- C++网络
- TCP VS UDP
- 通过HttpservletRequest对象获取客户端的真实IP地址
- 通俗介绍人工神经网络
- Windows网络编程学习笔记(1) 编写一个Winsock基本框架
- Android中Uri的使用转自http://blog.sina.com.cn/s/blog_821e2bb10100spxv.html
- Tcp的四次挥手状态机详解
- 完美解决imageloader加载https图片
- ip default-network 用法举例(使用静态默认路由实现网络互连)
- iOS HTTP请求
- 解决Android SDK Manager不能连接网络
- https原理及tomcat配置https方法
- Android 网络通信框架Volley简介(Google IO 2013)
- Handler+thread 加载网络图片
- Selenium2Library与HttpLibrary.HTTP
- Android开发实践(三)WebView(网络视图)使用实例
- Java语言使用HttpClient模拟浏览器登录
- 博客分享
- spring的事务管理有几种方式实现 (转自:http://blog.csdn.net/bopzhou/article/details/7094108)
- HTTP 传输内容的压缩