TCP协议

来源:互联网 发布:三表联查的sql语句 编辑:程序博客网 时间:2024/06/05 03:02
package cn.itcast_01;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
/*
 * TCP协议发送数据:
 * A:创建发送端的Socket对象
 *   这一步如果成功就说明链接已经建立成功了
 * B:获取输出流,写数据。
 * C:释放数据
 *   
 *   TCP协议一定要开服务器
 */


public class ClientDemo {
public static void main (String [] args) throws  IOException{
//创建发送端的Socket对象
//Socket(InetAddress address ,int port )
//Socket(String host , int port)
Socket s= new Socket(InetAddress .getByName("182.180.57.141"),8888);
//获取输出流
//public OutputStream getOutputStream()
OutputStream os = s.getOutputStream();
os.write("hello,tcp,我来啦".getBytes());
//释放资源
s.close();
}

}


package cn.itcast_01;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
/*
 * TCP协议接收数据
 * A:创建接收端的Socket对象
 * B:监听客户端连接,返回一个对应的Socket对象
 * C:获取输入流,读取数据,显示在控制台
 * D:释放资源
 */
public class ServerDemo {
public static void main(String [] args ) throws IOException{
//创建接受的Socket对象
//ServerSocket(int port)
ServerSocket ss = new ServerSocket(8888);
//监听客户端连接返回一个对应的Socket对象
Socket s = ss.accept();//侦听并接受到此套接字的连接,此方法连接传入前一直阻塞
//获取输入流,读取数据显示在控制台
InputStream is = s.getInputStream();
byte[] bys = new byte[1024];
int len = is.read(bys);//阻塞式方法
String str =new String(bys,0,len);
System.out.println(str);
//释放资源
s.close();//关闭因为不止一个客户端
//ss.close();服务器不应该关闭
}
}

0 0
原创粉丝点击