java网络编程—TCP(1)
来源:互联网 发布:garch模型 python 编辑:程序博客网 时间:2024/06/12 23:47
演示tcp的传输的客户端和服务端的互访。
需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息。
客户端:
1,建立socket服务。指定要连接主机和端口。
2,获取socket流中的输出流。将数据写到该流中。通过网络发送给服务端。
3,获取socket流中的输入流,将服务端反馈的数据获取到,并打印。
4,关闭客户端资源。
服务端:
1,建立服务端的socket服务。ServerSocket();并监听一个端口。
2,获取连接过来的客户端对象。通过ServerSokcet的 accept方法。没有连接就会等,所以这个方法阻塞式的。
3,客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据。并打印在控制台。
4,获取socket流中的输出流。将数据写到该流中。通过网络发送给客户端。
5,关闭服务端。(可选)
代码如下:
客户端代码如下:
package com.package4;/* * author:ywq */import java.net.*;import java.io.*;public class TcpClient {public static void main(String[] args)throws Exception {//创建客户端的socket服务。指定目的主机和端口 Socket s=new Socket("127.0.0.1",1456); //为了发送数据,应该获取socket流中的输出流。 OutputStream out=s.getOutputStream(); //发送数据 out.write("我是客户端,这是给你发的".getBytes()); //设置一个字节数组,用来存放收到的服务器反馈 byte[] buf=new byte[1024]; //得到socket中的输入流 InputStream in=s.getInputStream(); //将输入流写入到buf数组中 int len=in.read(buf); //创建字符串 String info=new String(buf,0,len);System.out.println(info); //关闭socket s.close();}}
服务器端代码如下:
package com.package4;/* * author:ywq */import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TcpServer {public static void main(String[] args)throws Exception{//创建服务器的socket,并且监听某个端口ServerSocket ss=new ServerSocket(1456);while(true){//利用accept方法来获取连接到的客户端对象Socket s=ss.accept();//得到并且打印客户端的ipString ip=s.getInetAddress().getHostAddress();System.out.println(ip); //得到socket输入流InputStream in=s.getInputStream();//设置一个字节数组,用来存放收到的客户端数据byte[] buf=new byte[1024]; //将输入流写入到buf数组中int len=in.read(buf);String info=new String(buf,0,len);System.out.println(info);//为了发送数据,应该获取socket流中的输出流。OutputStream out=s.getOutputStream(); //发送数据 out.write("我是服务器,这是给你的".getBytes());s.close();}}}
2 0
- java网络编程—TCP(1)
- JAVA——网络编程(TCP)
- JAVA 网络编程(TCP传输1)
- Java学习—网络编程(TCP)
- Java网络编程(TCP)
- java网络编程(tcp)
- java 网络编程 TCP
- JAVA网络编程-----tcp .
- Java - 网络编程 - TCP
- Java网络编程TCP
- java-网络编程-TCP
- JAVA 网络编程 - TCP
- Java网络编程TCP
- java网络编程 tcp
- Java TCP网络编程
- 网络编程(1)—TCP
- Java网络编程——TCP介绍
- Java网络编程笔记(TCP)
- linux基本命令(31)——/etc/group文件详解
- windows下protobuf jar包的编译
- 初探01背包问题
- 2015 ACM-ICPC Regional长春
- 活期存款利息的计算方法
- java网络编程—TCP(1)
- STL之map和multimap总结
- 开篇
- 系统服务的调用过程(SystemService)
- php的数据类型与源码调试
- 强悍的 Linux —— 强悍的命令行
- HTML标签学习总结(1)
- JAVA——利用wait和notify实现生产者和消费者
- Hibernate的环境搭建