您的位置:首页 > 编程语言 > Java开发

java Tcp通信客户端与服务器端实例

2020-02-13 11:33 661 查看

本文实例讲述了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 Tcp通信