服务端代码如下
import java.io.*;
import java.net.*;public class EchoServer
{
     public static void main(String[] args)
     {
         try{
             ServerSocket s = new ServerSocket(5050);
             Socket incoming = s.accept();
             
             BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
             PrintWriter out = new PrintWriter(incoming.getOutputStream(), true /* autoFlush */);             out.println("55 7F 00 00 01 30");
         
             boolean done = false;
             while (!done)
             {
                 String line = in.readLine();
                 if (line == null)
                     done = true;
                 else{
                     out.println("You to Server : " + line);
                     System.out.println("Client to you :"+line);
                     if (line.trim().equals("BYE"))
                         done = true;
                 }             }             incoming.close();
         }
         catch (Exception e){
             System.out.println(e);
         }
     }}
等客户端连接上后
out.println("55 7F 00 00 01 30");是往客户端发送数据吗
如果不是应该怎么给客户端发送数据

解决方案 »

  1.   

    建议你去看看《Java2网络协议内幕》一书
      

  2.   

    out.println(String) 是发送一个字符串。一般都是 
    out.println("I am here!"); 这样的字符,或者xml数据等文本
      

  3.   


    客户端口不是JAVA写的,另个语言写的
    我用JAVA和它的借口做通讯
    out.println("55   7F   00   00   01   30");
    这个是通讯吗?
      

  4.   

    建议你去看看《Java2网络协议内幕》一书
      

  5.   

    首先你先确定客户端是否连上了服务端,端口对吗??这样的socket连接通信和开发语言没有关系。中间的通信是由系统来完成的
    out.println("55 7F 00 00 01 30"); 是服务端向客户端发送信息(通信),
    代码意思是一个客户端连接到服务端,服务端先发送信息给客户端,然后客户段发送消息到服务端,服务端再响应。
      

  6.   

    to  Jales 
    我确认是可以连接上的
    但是客户端不会给服务器发信息的
    这样服务器不会给他提供服务?
      

  7.   

    服务端得到 socket 客户端的连接后,我一般这样向客户端发送反馈
    this.socket.getOutputStream().write(message);
    this.socket.getOutputStream().flush();
      

  8.   

    this.socket.getOutputStream().write(message);