TCP发送接收数据(一)
2016-05-08 19:21
471 查看
TCP发送接收数据
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
/*
* TCP协议发送数据:
* A:创建发送端的Socket对象
* 这一步如果成功,就说明连接已经建立成功了。
* B:获取输出流,写数据
* C:释放资源
*
* 连接被拒绝。TCP协议一定要先看服务器。
* java.net.ConnectException: Connectionrefused: connect
*/
public
classClientDemo {
public
static void main(String[] args)throws IOException {
// 创建发送端的Socket对象
// Socket(InetAddress address,
int port)
// Socket(String host, int port)
// Socket s = newSocket(InetAddress.getByName("192.168.12.92"), 8888);
Sockets = newSocket("219.216.80.19", 8888);
// 获取输出流,写数据
// public OutputStream getOutputStream()
OutputStreamos = s.getOutputStream();
os.write("hello,tcp,我来了".getBytes());
// 释放资源
s.close();
}
}
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
/*
*TCP协议接收数据:
* A:创建接收端的Socket对象
* B:监听客户端连接。返回一个对应的Socket对象
* C:获取输入流,读取数据显示在控制台
* D:释放资源
*/
public class ServerDemo {
publicstatic void main(String[] args) throws IOException {
//创建接收端的Socket对象
//ServerSocket(int port)
ServerSocketss = new ServerSocket(8888);
//监听客户端连接。返回一个对应的Socket对象
//public Socket accept()
Sockets = ss.accept(); // 侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。
//获取输入流,读取数据显示在控制台
InputStreamis = s.getInputStream();
byte[]bys = new byte[1024];
intlen = is.read(bys); // 阻塞式方法
Stringstr = new String(bys, 0, len);
Stringip = s.getInetAddress().getHostAddress();
System.out.println(ip+ "---" + str);
//释放资源
s.close();
//ss.close(); //这个不应该关闭
}
}
TCP发送接收图解:
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
/*
* TCP协议发送数据:
* A:创建发送端的Socket对象
* 这一步如果成功,就说明连接已经建立成功了。
* B:获取输出流,写数据
* C:释放资源
*
* 连接被拒绝。TCP协议一定要先看服务器。
* java.net.ConnectException: Connectionrefused: connect
*/
public
classClientDemo {
public
static void main(String[] args)throws IOException {
// 创建发送端的Socket对象
// Socket(InetAddress address,
int port)
// Socket(String host, int port)
// Socket s = newSocket(InetAddress.getByName("192.168.12.92"), 8888);
Sockets = newSocket("219.216.80.19", 8888);
// 获取输出流,写数据
// public OutputStream getOutputStream()
OutputStreamos = s.getOutputStream();
os.write("hello,tcp,我来了".getBytes());
// 释放资源
s.close();
}
}
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
/*
*TCP协议接收数据:
* A:创建接收端的Socket对象
* B:监听客户端连接。返回一个对应的Socket对象
* C:获取输入流,读取数据显示在控制台
* D:释放资源
*/
public class ServerDemo {
publicstatic void main(String[] args) throws IOException {
//创建接收端的Socket对象
//ServerSocket(int port)
ServerSocketss = new ServerSocket(8888);
//监听客户端连接。返回一个对应的Socket对象
//public Socket accept()
Sockets = ss.accept(); // 侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。
//获取输入流,读取数据显示在控制台
InputStreamis = s.getInputStream();
byte[]bys = new byte[1024];
intlen = is.read(bys); // 阻塞式方法
Stringstr = new String(bys, 0, len);
Stringip = s.getInetAddress().getHostAddress();
System.out.println(ip+ "---" + str);
//释放资源
s.close();
//ss.close(); //这个不应该关闭
}
}
TCP发送接收图解:
相关文章推荐
- 网络端口、协议、Socket
- 20145325张梓靖 实验五 "JAVA的网络编程"
- 网络编程模型及网络编程三要素
- ISA TEST黑客过关小游戏第一关解密
- TCP 协议如何保证可靠传输
- 应用层的HTTP协议
- HTTP状态码
- HttpClient 发送 POST 请求
- 20145211 《Java程序设计》实验报告五————Java网络编程及安全实验报告
- HTTP协议详解
- 第五次实验报告 java 网络编程
- 第五次实验报告 java 网络编程
- Android Volley完全解析(二),使用Volley加载网络图片
- 5、HttpClient、多线程下载、HttpUtils
- 4. Http请求以及提交数据、图片缓存
- RST_FIN
- select_echo_server
- 2016.3.30 为什么神经网络训练很难?
- 2016.3.30 神经网络的未来发展
- 2016.3.29 其他应用深度神经网络的应用