服务器之家

服务器之家 > 正文

实现了基于TCP的Java Socket编程实例代码

时间:2019-10-26 16:57     来源/作者:java教程网

实现了基于TCPJava Socket编程,功能很简单:客户端向服务器端输出一名话"connect",服务器端接收输出到控制台并向客户端输出一名话"Hello",客户端接收并输出。

1.服务器端

复制代码代码如下:

package javase.net.socket;  

import java.io.DataInputStream;  
import java.io.DataOutputStream;  
import java.io.IOException;  
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) {  
        try {  
            ServerSocket serverSocket = new ServerSocket(8888);  
            Socket socket = serverSocket.accept();  
            // 读取客户端数据  
            InputStream info = socket.getInputStream();  
            DataInputStream dis = new DataInputStream(info);  
            System.out.println(dis.readUTF());  

            // 向客户端输出数据  
            OutputStream os = socket.getOutputStream();  
            DataOutputStream dos = new DataOutputStream(os);  
            dos.writeUTF("Hello!");  
            dos.flush();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

 

2.客户端:

复制代码代码如下:

package javase.net.socket;  

import java.io.DataInputStream;  
import java.io.DataOutputStream;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.OutputStream;  
import java.net.Socket;  
import java.net.UnknownHostException;  

public class TCPClient {  
    public static void main(String[] args) {  
        try {  
            Socket socket = new Socket("192.168.1.123", 8888);  
            // 向服务器端发送数据  
            OutputStream os =  socket.getOutputStream();  
            DataOutputStream bos = new DataOutputStream(os);  
            bos.writeUTF("Connect");  
            bos.flush();  

            // 接收服务器端数据  
            InputStream is = socket.getInputStream();  
            DataInputStream dis = new DataInputStream(is);  
            System.out.println(dis.readUTF());  
        } catch (UnknownHostException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  
标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部