java socket 客户端是如何向服务器端发送消息的

2024-12-20 12:17:49
推荐回答(4个)
回答1:

服务器端和客户端都是通过SOCKET来进行通信的,首先产生一个 socket实例,通过这个实例,服务器端调用accept这个方法接收来自客户端发送的信息.但是在产生socket实例的时候必须初始化一个端口.用来负责接受客户端的请求!
客户端要给服务器发送消息也必须产生一个socket实例,初始化的时候必须指定服务器的IP地址,并且指定服务接收的端口号,这样客户端才能找到服务器要接收的地方,找到地方就可以发送过去了。和你写信一样。找到地址
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintWriter out = new PrintWriter(socket.getOutputStream());

BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));
这个只是用来获取一个从键盘的一个流.传送给服务器端的数据都是通过流来表示的。意思是是键盘输入的一个字节转化成字符流.并输出或者写入!

回答2:

java socket客户端向服务器端发送消息,可以使用socket类,实例如下:



mport java.io.*;
import java.net.*;

public class EchoClient {

     public static void main(String args[]) {
         try {

          Socket connection =new Socket("127.0.0.1", 5050);
          BufferedReader input = new BufferedReader(new InputStreamReader(
                    connection.getInputStream()));
             
             PrintWriter out = new PrintWriter(connection.getOutputStream(),true );
             String info;
             info = input.readLine();
             System.out.println(info);
             boolean done = false;
             BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
             String sInput;
             
             //out.println("BYE");

             while (!done) {
             

                 info = input.readLine();
                 System.out.println(info);
                 
             }
             connection.close();
         }
         catch (SecurityException e) {
             System.out.println("SecurityException when connecting Server!");
         }
         catch (IOException e) {
             System.out.println("IOException when connecting Server!");
         }
     }

}

回答3:

基于C/S(即客户端/服务器)模式的通信,有使用面向连接协议(TCP)协议进行的,也可以用面向无连接的UDP协议的。不过就上述程序来看,是TCP Socket了。客户端和服务器通过Socket方式进行通信,Socket可以形象地理解成一个介于服务器和客户端的通道,通道的两端均通过该通道读取和写入Message,程序中的BufferedReader和PrintWriter均为I/O流,只是适用的对象不同而已,BuffedrReader是字符流,需套接在字节流上,用于读取信息,socket.getInputStream()表明读取的对象是Socket中输入的信息,PrintWriter用于向Socke中打印信息。另外,System.out.println()方法用于向标准输出设备输出信息。理解该程序时,需搞明白向哪个对象中读取还是写入信息。稍微抽象一点,不过不是很难,再好好看看书,仔细琢磨琢磨,相信你能明白的!

回答4:

你要说什么?