JAVA中TCP通信(2)
TCP客户端和服务端的互访
客服端:
1.建立Socket服务,指定要链接主机的端口
2.获取Socket流中的输出流,将数据写到该流中,通过网络发送给服务端
3.获取Socket流中的输入流,将服务端反馈的数据获取到,并且打印。
4.关闭客户端资源。
需求
客户端给服务端发送数据,服务端收到之后,再给客户端反馈信息。
任务:一个程序为服务端,建立TCP服务端套接字。另外一个程序为客户端,建立TCP客户端套接字。
import java.io.*;
import java.net.*;
/*
客户器
*/
class Tcpclient1 {
public static void main(String args[])throws Exception{
Socket s=new Socket("10.32.0.114",10005);
OutputStream out=s.getOutputStream();
out.write("hi! Rich boy~".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();
}
}
/*
服务器
*/
class Tcpserver1{
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+".....connected");
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("what is up man".getBytes());
s.close();
ss.close();
}
}
结果
这个是之前我上一个的加强版,如果我们是初学TCP UDP通信的话 ,可参考在这里