首页 > 开发 > Java > 正文

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

2020-07-28 13:29:31
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表