新手学习socket编程,遇到问题,求大神帮忙!

祈福wyear 祈福wyear 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

//模拟转大写服务器,客户端输入小写字符串,服务器端进行处理,返回给客户端
//遇到的问题,第一次小写转大写可以,当进行第二次请求时候,就会出现错误(Connection refused: connect)
// 客户端
package cn;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Client {

public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub

while(true){
System.out.println("请输入要转大写的英文字母:");
Scanner scanner= new Scanner(System.in);
String str=scanner.nextLine();

//创建socket
Socket socket= new Socket("127.0.0.1", 10004);
//创建输出流输入流
OutputStream outputStream=socket.getOutputStream();
InputStream inputStream=socket.getInputStream();
//输出给服务器端
outputStream.write(str.getBytes());
//接受服务器端发来的数据
byte[]buf=new byte[1024];
int len=inputStream.read(buf);
System.out.println("转大写后"+(new String(buf,0,len)));
}
}

}
//服务器端
package cn;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

ServerSocket serverSocket= new ServerSocket(10004);
Socket socket=serverSocket.accept();
System.out.println(socket.getInetAddress().getHostAddress()+"connecting.....");
InputStream inputStream= socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
//读取客户端发来的数据
byte[]buf=new byte[1024];
int len=inputStream.read(buf);
String str=new String(buf, 0, len);
System.out.println(str);
//逻辑处理
String smallStr=str.toUpperCase();
outputStream.write(smallStr.getBytes());
socket.close();
//serverSocket.close();
}
}



...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
祈福wyear
Java 51,407 成员 86,128 内容