java Tcp通信客户端与服务器端实例
更新时间:2020年01月19日 09:53:21 作者:qq_42412646
这篇文章主要介绍了java Tcp通信客户端与服务器端,结合完整实例形式详细分析了java基于tcp的网络通信客户端与服务器端具体实现技巧,需要的朋友可以参考下
本文实例讲述了java Tcp通信客户端与服务器端。分享给大家供大家参考,具体如下:
由服务器端发送数据
服务器端:
import java.io.*;
import java.net.*;
public class TestSocket {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(8888);
while(true) {
Socket s = ss.accept();
OutputStream os = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye");
dos.close();
// os.flush();
os.close();
// s.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("there is a wrong");
}
}
}
用户端:
import java.io.*;
import java.net.*;
public class TestClient {
public static void main(String[] args){
try {
Socket s = new Socket("127.0.0.1",8888);
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
s.close();
dis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
无论是客户端还是服务器端都可以收发数据。
交互型
用户端
import java.io.*;
import java.net.*;
public class TestClient2 {
public static void main(String[] args){
try {
Socket s = new Socket("127.0.0.1",8886);
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dos.writeUTF("hey");
String str = null;
if((str = dis.readUTF()) != null) {
System.out.println(str);
}
s.close();
dis.close();
dos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
服务器端:
public class TestServer2 {
public static void main(String[] args) {
InputStream in = null;
OutputStream out = null;
try {
ServerSocket ss = new ServerSocket(8886);
while(true) {
Socket s = ss.accept();
in = s.getInputStream();
out = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
DataInputStream dis = new DataInputStream(s.getInputStream());
String str = null;
if((str = dis.readUTF() )!= null) {
System.out.println(str);
System.out.println("form " + s.getInetAddress());
System.out.println("port " + s.getPort());
// dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye");
}
dos.writeUTF("hi hello");
dis.close();
dos.close();
s.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("there is a wrong");
}
}
}
更多关于java相关内容感兴趣的读者可查看本站专题:《Java Socket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关文章
java多线程编程同步器Future和FutureTask解析及代码示例
这篇文章主要介绍了java多线程编程同步器Future和FutureTask解析及代码示例,对二者进行了详细介绍,分析了future的源码,最后展示了相关实例代码,具有一定参考价值 ,需要的朋友可以了解下。2017-11-11
Spring Batch读取txt文件并写入数据库的方法教程
这篇文章主要给大家介绍了Spring Batch读取txt文件并写入数据库的方法,SpringBatch 是一个轻量级、全面的批处理框架。这里我们用它来实现文件的读取并将读取的结果作处理,处理之后再写入数据库中的功能。需要的朋友可以参考借鉴,下面来一起看看吧。2017-04-04
spring boot拦截器注入不了java bean的原因
这篇文章主要介绍了spring boot拦截器注入不了java bean的原因,帮助大家更好的理解和学习spring boot框架,感兴趣的朋友可以了解下2020-11-11
自定义注解和springAOP捕获Service层异常,并处理自定义异常操作
这篇文章主要介绍了自定义注解和springAOP捕获Service层异常,并处理自定义异常操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06


最新评论