应该已经完全按照教程书写了代码~~然而总是不对~~~

来源:3-3 编程实现基于 TCP 的 Socke t通信之客户端

啊梨真神奇

2016-02-25 22:08

就是这个结果~~~http://img.mukewang.com/56cf0acf000112cf07090334.jpg

写回答 关注

4回答

  • 果子李
    2016-02-26 10:46:27
    已采纳

    你把源代码贴一下啊。可能是你port设置有问题。或者你客户端的socket没close

    啊梨真神奇

    您好!看错了,其实并没有解决,惭愧~~~~~~下面贴出详细的过程,望指教!

    2016-02-26 21:08:03

    共 2 条回复 >

  • KeT
    2016-08-02 10:38:30

    我也遇到同样的问题,我解决这个问题是我想着loaclhost,就是socket构造方法中的Socket(String host, int port)
              创建一个流套接字并将其连接到指定主机上的指定端口号。     因此,我觉得自己的问题出现在String host中,构造方法中的参数类型是String,老师输入的localhost,即是意思着本机的地址,所以我用方法获取本机的地址。把它代替了“localhost”,获取本机地址的方法不用我吧。这下面是我成功后的代码。

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.Socket;
    import java.net.UnknownHostException;
    import java.net.InetAddress;
    
    /*
     * 客户端
     */
    public class Client {
    	public static void main(String[] args) {
    		 InetAddress address;
    		try {
    			address = InetAddress.getLocalHost();
    			try {
    				//建立客户端,指定服务器端口和地址
    				Socket socket = new Socket(address.getHostAddress(),8888);
    				//获取输出流,想服务器端发送登录信息
    				OutputStream os = socket.getOutputStream();//获取输出流
    				PrintWriter pw = new PrintWriter(os);      //将输出流包装为打印流
    				pw.write("用户名:kjx,密码:093022");
    				pw.flush();
    				socket.shutdownOutput();   //关闭输出流
    				
    				//关闭资源
    				pw.close();
    				os.close();
    				
    			} catch (UnknownHostException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		
    		} catch (UnknownHostException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    		
    }
    }


  • 慕前端0336099
    2016-03-30 15:09:24

    说你没有连接  看看端口号  或者你没开服务端先开的客户端

  • 啊梨真神奇
    2016-02-26 21:10:37

    56d04e8f0001552805000271.jpg

    56d04e8f000145be05000257.jpg

    56d04e900001110605000244.jpg

    打断点调试,进行到第一张图之后,直接跳到最后抛出错误,最后一张是错误的具体信息~~~~~~

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125007 学习 · 627 问题

查看课程

相似问题