java网络编程 tcp 黑马程序员学习笔记(11)

时间:2023-02-21 16:21:38

             ---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------



import java.io.*;
import java.net.*;
//步奏
//建立socket对象

public class tcpclient {

public static void main(String args[]) throws Exception
{
  //创建客户端的socket服务,指定母的主机和端口
  Socket s=new Socket("192.168.0.110",10002);
  OutputStream out=s.getOutputStream();
  out.write("测试数据,从客户端发往服务端".getBytes());
  InputStream in=s.getInputStream();
  byte[] buff=new byte[1024];
  int len=in.read(buff);
  System.out.println(new String(buff,0,len));
 
  //为了发送数据,应该获取socket流中的输入流
//  OutputStream out=s.getOutputStream();
//  out.write("tcp ge men lai le".getBytes());
s.close();
}

}

//////////////////////////////////服务端


import java.io.*;
import java.net.*;
/*
* 需求:定义端点接受数据并打印在控制台上
*
* 服务端:
* 1.套接字,两端的端口。
* 建立服务端的socket服务,serversocket();兵谏亭一个端口
* 2.获取连接过来的客户端对象
* 通过seversocket的accept()方法,没有连接就会等。阻塞式方法
* 3.客户端吐过发过来数据,那么服务端要使用对应的客户对象
* 并获取该客户端对象的读取流队形
*
*/
 
class tcpserver {

public static void main(String args[]) throws Exception
{
  //创建服务端的socket服务,指定母的主机和端口
  ServerSocket ss=new ServerSocket(10002);
    //通过accetp()方法获取连过来的 客户端对象
  Socket s=ss.accept();
  String ip =s.getInetAddress().getHostAddress();
  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();
  Thread.sleep(10000);
  out.write("我是服务端,发给客户端的信息".getBytes());

   s.close();//关闭客户端
   ss.close();
}

}

//比上篇略有升级。服务器带回应的的。

下片使用服务器的功能来给变客户端发来的额数据。大小写转换。


     ---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------