java Tcp通信客户端与服务器端实例
发布时间:2020-05-24 13:47:14 所属栏目:Java 来源:互联网
导读:java Tcp通信客户端与服务器端实例 本文实例讲述了java Tcp通信客户端与服务器端.分享给大家供大家参考,具体如下: 由服务器端发送数据 服务器端: import java.io.*; import java.net.*; public class TestSocket { public static void main(String[] args) {
|
本文实例讲述了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 – 使用输入类型和文件NullPointerException发布FormD
- java – Mockito Spy – stub在调用构造函数之前
- SpringMVC通过邮件找回密码功能的实现
- Java:更快的替代String(byte [])
- java – 如何取消SwingWorker的执行?
- java – 如何从jtextfield和combobox中接收的值向Jtable添加
- JAVA获得包含0-9、a-z、A-Z范围内字符串的的随机数实例
- Java并发实例之CyclicBarrier的使用
- java – 按百分比设置JTable的列宽
- PowerMock和Java 8问题:InterfaceMethodrefInfo不能转换为
