
关于java的socket和serversocket,直接从Eclipse贴上来的,有点难看,为什么控制台里怎么输入都没反应呢
我在一个项目里面创建了2个JAVA文件============Client.java============importjava.io.BufferedReader;im...
我在一个项目里面创建了2个JAVA文件
============
Client.java
============
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args)
{
try{
Socket socket = new Socket("125.216.248.212",4700);
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
String readline = sin.readLine();
while(!readline.equals("bye")){
os.print(readline);
os.flush();
readline = sin.readLine();
}
os.close();
socket.close();
}catch(Exception e){
System.out.println(e);
}
}
}
=============
Sever.java
=============
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Sever {
public static void main(String[] args) {
try{
ServerSocket sever = null;
try{
sever = new ServerSocket(4700);
}
catch(Exception e){
System.out.println("can not listen to:"+e);
}
Socket socket = null;
try{
socket = sever.accept();
}
catch(Exception e){
System.out.println(e);
}
String line = "";
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(line!=null&&!line.equals("bye")){
line = is.readLine();
System.out.println("Server:"+line);
}
is.close();
socket.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
输入倒是输入了,可是没输出反应啊? 展开
============
Client.java
============
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args)
{
try{
Socket socket = new Socket("125.216.248.212",4700);
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
String readline = sin.readLine();
while(!readline.equals("bye")){
os.print(readline);
os.flush();
readline = sin.readLine();
}
os.close();
socket.close();
}catch(Exception e){
System.out.println(e);
}
}
}
=============
Sever.java
=============
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Sever {
public static void main(String[] args) {
try{
ServerSocket sever = null;
try{
sever = new ServerSocket(4700);
}
catch(Exception e){
System.out.println("can not listen to:"+e);
}
Socket socket = null;
try{
socket = sever.accept();
}
catch(Exception e){
System.out.println(e);
}
String line = "";
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(line!=null&&!line.equals("bye")){
line = is.readLine();
System.out.println("Server:"+line);
}
is.close();
socket.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
输入倒是输入了,可是没输出反应啊? 展开
1个回答
展开全部
你是在本地测试,要把你的Ip改为本地ip
Socket socket = new Socket("127.0.0.1", 4700);
这样就能发送了
Socket socket = new Socket("127.0.0.1", 4700);
这样就能发送了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询