-
根据本机local、主机名getbyname,主机ip:getbyname查看全部
-
socket通信模型查看全部
-
Socket通信模型查看全部
-
多线程服务器: 应用多线程来实现服务器于多客户之间的通信 基本操作步骤: 1.服务器端穿件serverscoket,循环条用accept()等待客户端链接 2.客户端创建一个socket并请求和服务器端连接 3.服务器端接受客户端的请求,创建socket与客户端建立专线连接 4.建立链接的两个socket在一个单独的线程对话 5.服务器端继续等待新的链接查看全部
-
//1.创建一个serverSocket.绑定监听端口 ServerSocket serverSocket=new ServerSocket(8888) //2.调用accept()方法开始监听。等待客户端的连接 System.out.println(服务器即将启动 等待连接) Socket socket=serverSocket.accept(); //3.获取输入流。用来读取客户端发送的信息 InputStream is=socket.getInputStream()//字节输入流 InputSreeamReader ir=new InputStreamReader(is)//将字节流转换为字符流 BufferedReader=new InputStreamReader(ir);//为字符流添加缓冲 String data=br.readLine(); while (data!=null){ System.out.println("我是服务器 客户端说"+data); data=br.readLine(); } socket.shutdownInput();//关闭输入里,否则会造成阻塞 //创建输出流。响应客户端请求 OutputStream out=socket getOutputStream(); //将输出流转换为打印流 PrintWriter pw=new PrintWriter(out); pw.write(欢迎您——————) pw.flush();//调用flush()方法将缓冲输出 socket.shutdownOutput();//关闭socket输出流 //关闭资源 br.close(); ir.close(); is.close(); socket.close(); serversocket.close();查看全部
-
openstream方法是返回字节流,inputsteam,再通过inputsteamreader把字节流转换成字符流,再通过bufferreader加入字符缓冲区,再去读取就很方便,同时由于编码的限制所以要使用utf-8,这个是在字节转换成字符流的时候指明:inputsteamreader=new inputsteamreader((new inputsteam(file)),"utf-8")查看全部
-
1、多线程的优先级(死循环中注意设置优先级问题。)建议降低优先级。 2、关闭socket流,而不提倡关闭输入输出流。 3、使用tcp通信传输对象更符合面向对象编程的思想。 4、通过socket编程传输文件的功能模块是:通过io流读取文件字符流进行传输。查看全部
-
接收服务端响应的数据查看全部
-
服务器端的响应查看全部
-
UDP客户端 1.定义服务器的地址、端口号、数据 InetAddress address = InetAddress.getByname("localhost"); int port = 8800; byte[] data = "用户名:admin;密码:123".getBytes(); 2.创建数据报,包含发送的数据信息 DatagramPacket packet = new DatagramPacket(data,data.length,adress,port); 3.创建DatagramSocket对象 DatagramSocket socket = new DatagramSocket(); 4.向服务器端发送数据报 socket.send(packet);查看全部
-
//1.创建客户端Socket,指定服务器地址和端口 Socket socket=new Socket("localhost".8888); //2.获取输出流,想服务器端发送信息、 OutputStream os=socket.getOutputStream();//字节输出流 //3.将输出流包装为打印流 PrintWriter pw=new PrinrWriter(os); //4.指定输出信息 pw.write("用户名 :admin 密码 :123"); //5.调用flush()方法将缓冲输出 pw.flush(); //6.关闭输出流 socket.shutdownOutput(); //7.关闭资源 br.close(); is.close(); pw.close(); os.close(); socket.close();查看全部
-
服务器端实现步骤(基于UDP的用户登录): 1、创建DatagramSocket,指定端口号 2、创建DatagramPacket 3、接受客户端发送的数据信息 4、读取数据 客户端的操作 1.定义发送信息 2.创建DatagramPacket,包含将要发送的信息 3.创建DatagramSocket 4.发送数据查看全部
-
UDP 编程: 特点:udp协议是无连接,无状态,无序的、不可靠的。 优点:速度快。 原理:将需要发送的信息封装在数据报(Datagram),在数据报里指明Socket主机和端口号。然后发送出去。 使用的操作类: DatagramPacket 表示数据报包 DataSocket 用来发送和接收数据报包的套接字。查看全部
-
服务器端实现步骤(基于UDP的用户登陆);(南) 1.创建DatagranmSocket 指定的端口号(海) 2.创建DatageanmSocket(属) 3.接受客户端发送的数据信息(于) 4.读取数据(中) 客户端的操作(国) 1.定义发送的信息 2.创建DatagramPacket 包含将要发送的信息 3.创建DatagramPacket 4.发送数据查看全部
-
//1.创建一个serverSocket,绑定监听端口 ServerSocket serversocket=new ServerSocket(8888) //2.调用accep()方法开始监听,等待客户端连接 Syetem.out.println("服务器即将启动 等待客户端连接") Socket socket=new serverSocket accept(); //3.获取输入流,用来读取客户端发送的信息 InputStream is=socket.getInputStream(is)//直接输入流; InputStreamReader isr=new InputStreamReader(is)://将字节输入流转换为字符输入流 BufferedReader br=new BufferedReader(isr)://为输入流添加缓冲 String data=br.readLine(); while (data!null){//循环读取 System.out.println("我是服务器,客户端说:"data); data=br.readLine(); } //关闭输入流,防止造成阻塞 socket.shutdownInput(); //关闭资源 br.close(); isr.close(); socket.closr() serversocket.close();查看全部
举报
0/150
提交
取消