import java.net.*;
import java.io.*;public class TestSockClient {
public static void main(String args[]) {
OutputStream os = null;
InputStream is = null;
try {
Socket s = new Socket ("localhost",8888);
os = s.getOutputStream();
is = s.getInputStream();
DataInputStream dis = new DataInputStream(is);
DataOutputStream dos = new DataOutputStream(os);

dos.writeUTF("hi,I'm client.");
if (dis.readUTF() != null) 
System.out.println(dis.readUTF());
dis.close();
dos.close();
s.close();
} catch (UnknownHostException ue) {
ue.printStackTrace();
} catch(IOException ie) {
ie.printStackTrace();
}

解决方案 »

  1.   

    运行不通过是啥意思?是阻塞住了,还是什么?
    server端如何接收和发送的?
      

  2.   

    import java.net.*;
    import java.io.*;public class TestSockServer {
    public static void main(String args[]) {
    OutputStream os = null;
    InputStream is = null;
    try {
    ServerSocket ss = new ServerSocket(8888);
    while(true) {
    Socket s = ss.accept();
    is = s.getInputStream();
    os = s.getOutputStream();
    DataInputStream dis = new DataInputStream(is);
    DataOutputStream dos = new DataOutputStream(os);

    while(dis.readUTF() != null) {
    System.out.println(dis.readUTF());
    System.out.println("From:" + s.getInetAddress());
    System.out.println("Port:" + s.getPort());
    }
    dos.writeUTF("hi,I'm server!");
    dis.close();
    dos.close();
    s.close();
    }
    } catch(Exception ie) {
    System.out.println("Syetem error.");
    }
    }
    }
    这个是server的
      

  3.   

    server正常,但是client运行不通过~~~就是这个问题,求原因
      

  4.   

    我觉得可能是
    while(dis.readUTF() != null) {
    System.out.println(dis.readUTF());
    System.out.println("From:" + s.getInetAddress());
    System.out.println("Port:" + s.getPort());
    }
    这个循环的问题。
    在第一次读取了客户端写过来的信息后,运行循环里的代码块。
    接着,再次判断循环条件dis.readUTF() != null,就是这给停住了,它应该是在等客户端写信息过来。
    而客户端写完第一次之后也在等服务器,所以就停那了。
    我建议你如果这个循环里的代码,没有循环的必要就不要用了,或是改一下循环条件。
    让它在特定的时候能够跳出来,结束循环。进而继续运行后面的代码。
    PS:仅代表个人看法、、、
      

  5.   

    client连接不到服务器??那你换个端口试试或者localhost换成127.0.0.1