java 基于tcp客户端服务端发送接收数据
2018-06-06 20:31
603 查看
客户端:
package demo03; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /* * 实现TCP客户端,接收到服务器 * 和服务器实现数据交换 * 实现TCP客户端程序的类 java.net.Socket * * 构造方法: * Socket(String host,int port) 传服务器IP和端口号 * 注意:构造方法只要运行,就会和服务器进行连接,连接失败,抛出异常 * * OutputStream getOutputStream() 返回套接字的输出流 * 作用:将数据输出,输出到服务器 * * InputStream getInputStream() 返回套接字的输入流 * 作用:从服务端读取数据 * * 客户端服务器数据交换,必须使用套接字对象Socket中的获取的IO流,自己new流,不行 */ public class TCPClient { public static void main(String[] args) throws IOException{ //创建Socket对象,连接服务器 Socket socket=new Socket("127.0.0.1",8888); //通过客户端的套接字对象Socket方法,获取字节输出流,将数据写向服务器 OutputStream out=socket.getOutputStream(); out.write("服务器你好!".getBytes()); //读取服务器发回的数据,使用socket套接字对象中的字节输入流 InputStream in=socket.getInputStream(); byte[] data=new byte[1024]; int len=in.read(data); System.out.println(new String(data,0,len)); socket.close(); } }
服务端:
package demo03; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /* * 实现TCP服务器程序 * 表示服务器程序的类 java.net.ServerSocket * 构造方法: * ServerSocket(int port) 传递端口号 * * 很重要的事情:必须要获得客户端的套接字对象Socket * Socket accept() */ public class TCPServer { public static void main(String[] args)throws IOException { ServerSocket server=new ServerSocket(8888); //调用服务器套接字对象中的方法accept()获取客户端套接字对象 Socket socket=server.accept(); //通过客户端套接字对象,socket获取字节输入流,读取的是客户端发送来的数据 InputStream in=socket.getInputStream(); byte[] data=new byte[1024]; int len=in.read(data); System.out.println(new String(data,0,len)); //服务器向客户端回数据,字节输出流,通过客户端套接字对象获取字节输出流 OutputStream out=socket.getOutputStream(); out.write("收到,谢谢".getBytes()); socket.close(); server.close(); } }
相关文章推荐
- TCP与UDP的异同(服务端接收数据,客户端发送数据)
- java netty 服务端向客户端发送16进制数据,客户端无法接收-已解决
- TCP与UDP的异同(服务端接收数据,客户端发送数据)
- Java Socket 服务端发送数据 客户端接收数据
- Java写的TCP聊天程序,服务端收不到客户端发送的数据
- TCP与UDP的异同(服务端接收数据,客户端发送数据)
- TCP与UDP的异同(服务端接收数据,客户端发送数据)
- Tcp服务端一直sleep,客户端不断发送数据产生的问题
- Java编写一个简单的TCP通信程序。服务器发送一条字符串,客户端接收该信息并显示。
- 一个简单的socket服务端和客户端程序:客户端发送数据给服务端,服务端接收到数据后再给客户端发送数据
- Java网络编程:在服务端接收和发送数据
- socket客户端数据发送的数据服务端接收不到
- java 简单的TCP接收数据与发送数据
- 基于Socket的TCP长连接(服务端Java+客户端Android),Service配合AIDL实现
- TCP-客户端给服务端发送数据,服务端收到后,给客户端反馈信息
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
- 关于servlet服务端接收客户端发送的List<?>数据的问题
- Tcp服务端一直sleep,客户端不断发送数据产生的问题
- 客户端POST发送json数据给服务端,客户端端接收服务器端json数据响应