java能写客户端程序吗,无法在Java套接字/客户端之间进行读写

I am trying to establish a connection between a server and a client in Java, using java.net. I manage to connect, but not to send any data. I have pasted the code and the outputs:

Server Code:

ServerSocket welcomeSocket = new ServerSocket(999);

Socket connectionSocket = welcomeSocket.accept();

System.out.println("Connected to: " + connectionSocket.toString());

DataOutputStream outToClient = newDataOutputStream(connectionSocket.getOutputStream());

outToClient.writeBytes("Testing connection");

Client Code:

Socket clientSocket = new Socket("130.236.248.52", 999);

BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

modifiedSentence = inFromServer.readLine();

System.out.println("[From server:] " + modifiedSentence);

Server output:

Connected to: Socket[addr=/130.236.248.54,port=51535,localport=999]

Client output:

解决方案Use a BufferedWriter to write text (just like you're using a BufferedReader to read text)

Call flush() on your writer to force the output to go through

If you're calling readLine() on the client side, there needs to be an end-of-line to read.

BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(connectionSocket.getOutputStream()));

outToClient.write("Testing connection");

outToClient.newLine();

outToClient.flush();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值