本帖最后由 练习题 于 2014-8-28 11:07 编辑
- //这是客户端的代码import java.net.*;
- import java.io.*;
- class TCPClient2
- {
- public static void main(String[] args)throws Exception
- {
- Socket socket = new Socket(InetAddress.getLocalHost().getHostAddress(),10010);
- OutputStream os = socket.getOutputStream();
- os.write("tcp数据来了".getBytes());
- InputStream is = socket.getInputStream();
- byte[] buf = new byte[1024];
- int len = 0;
- String str = "";
- while((len = is.read(buf))!= -1)
- {
- str = str + new String(buf,0,len);
- }
- System.out.println(str); socket.close();
- }
- }//这是服务端的代码
- import java.net.*;
- import java.io.*;
- class TCPServer2
- {
- public static void main(String[] args) throws Exception
- {
- ServerSocket ss = new ServerSocket(10010 );Socket socket = ss.accept(); //因为这个客户端对象发送数据,那么我们就可以用这个客户端读取数据
- InputStream is = socket.getInputStream();
- byte[] buf = new byte[1024];
- int len = 0;
- String str ="";
- while((len = is.read(buf)) != -1)//阻塞方法
- {
- str += str + new String(buf,0,len);
- }
- System.out.println("IP:"+socket.getInetAddress().getHostAddress()+" 数据:"+str); //返回数据给客户端
- OutputStream os = socket.getOutputStream();
-
- os.write("服务端数据已经收到,谢谢".getBytes());
- //关闭资源
- socket.close();
- ss.close();
-
- }
- }
复制代码 看半天实在招不到问题在哪,我这边的问题就是客户端和服务端都出现阻塞的状态,没有任何反应.之前测试客户端给服务端发数据 服务端是可以接受到的,现在就是要让服务端返回数据给客户端,就不行了. 求大神们帮帮忙!
|
|