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

本文提供了Java实现TCP通信的客户端和服务器端示例,包括单向发送和交互型通信。通过示例代码展示了如何创建Socket连接,读写数据,以及关闭连接。这些实例对于理解和应用Java TCP通信具有参考价值。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值