博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 基于tcp客户端服务端发送接收数据
阅读量:4336 次
发布时间:2019-06-07

本文共 2070 字,大约阅读时间需要 6 分钟。

客户端:

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();            }}

 

转载于:https://www.cnblogs.com/benjamin77/p/9147146.html

你可能感兴趣的文章
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>
JS中各种跳转解析
查看>>
JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
查看>>
Ecust OJ
查看>>
P3384 【模板】树链剖分
查看>>