package cn.com;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
//TCP客户端
//关于TCP的客户端和服务端的比喻(我的理解):
//比如在很大的宾馆的前台,有许许许多多电话,这个前台就是一个TCP服务端。
//当有预定房间的电话(客户端)打进来的时候,就会有一个前台的电话与它接通。
//即代码Socket s = ss.accept();返回值是一个Socket()即一个电话。这个时候这两部电话是对等的。
//它们都有自己的getOutputStream和getInputStream。只不过,一边的输出是对应于另一边的输入,反之亦然。
//UDP和TCP的区别:
//UDP不需要建立连接,但是TCP要先建立连接再通讯。
//正是这个原因:UDP直接往外面扔数据包,但是TCP在建立连接后,就有流!然后通过流来进行通讯,比如getOutputStream和getInputStream方法。
//这样理解的话就简单多了
public class TCPSender {
public static void main(String[] args) throws Exception {
Socket clientSocker=new Socket("192.168.1.111", 7759);
OutputStream os=clientSocker.getOutputStream();
String message="lalala";
byte [] messageArray =message.getBytes();
os.write(messageArray);//利用Socket得到的OutputStream发送消息
InputStream is=clientSocker.getInputStream();//利用Socket得到的InputStream得到服务端返回的消息
byte [] buff=new byte[1024];
int number=is.read(buff);
String temp=new String(buff,0,number);
System.out.println("客户端收到的信息:"+temp);
}
}