演示tcp的传输客户端和服务端的互访
需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息
客户端:
1.建立socket服务,指定要连接主机和端口。
2.获取socket流中输出流,将数据写到该流中,通过网络发送给服务端。
3.获取socket流中的输入流,将服务端反馈的数据获取到
需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息
客户端:
1.建立socket服务,指定要连接主机和端口。
2.获取socket流中输出流,将数据写到该流中,通过网络发送给服务端。
3.获取socket流中的输入流,将服务端反馈的数据获取到
4.关闭客户端资源。
import java.io.*;
import java.net.*;
public class TcpClient3
{
public static void main(String[] args)throws Exception
{
Socket s=new Socket("169.254.74.22",10005);
OutputStream out=s.getOutputStream();
out.write("服务端,你好".getBytes());
//获取从服务端反馈的信息
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
s.close();
}
}
服务器端:
import java.io.*;
import java.net.*;
public class TcpServer3
{
public static void main(String[] args) throws Exception{
ServerSocket ss=new ServerSocket(10005);
Socket s=ss.accept();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip);
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
//给客户端反馈信息
OutputStream out=s.getOutputStream();
out.write("你好,客户端".getBytes());
s.close();
ss.close();
}
}