package com.tt;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import org.junit.Test;
//客户端给服务端发送信息,服务端输出此信息到控制台上
public class TestTcpIp {
/**
* 客户端
* @throws UnknownHostException
* @throws IOException
*/
@Test
public void client() throws UnknownHostException, IOException{
//创建一个Socket的对象,通过构造器指明服务端IP地址,以及其接收程序的端口号
Socket s=new Socket(InetAddress.getByName("127.0.0.1"), 9090);
//getOutputStream:发送数据,方法返回OutputStream
OutputStream os=s.getOutputStream();
//具体输出过程
os.write("1231232131".getBytes());
//进行相关的关闭
os.close();
s.close();
}
/**
* 服务端
* @throws IOException
*/
@Test
public void server() throws IOException{
//创建一个ServerSocket的对象,通过构造器指明自身的端口号
ServerSocket ss=new ServerSocket(9090);
//调用accept()返回一个Socket对象
Socket s=ss.accept();
//调用Socket对象获取getInputStream()从客户端传输过来的数据
InputStream is=s.getInputStream();
byte[] b=new byte[1024];
int len=0;
while((len=is.read(b))!=-1){
String str=new String(b,0,len);
System.out.println(str);
}
System.out.println("收到来牌于"+s.getInetAddress().getHostAddress()+"的连接");
//相关流的关闭
is.close();
s.close();
ss.close();
}
}