Java 最简单的socket编程,连接不上本地,一直都有Connection refused: connect
先上代码服务端:publicclassTcpServer{publicstaticvoidmain(String[]args)throwsException{Server...
先上代码
服务端:
public class TcpServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(7777);
Socket socket = ss.accept();
InputStream is = socket.getInputStream();
byte[] buffer = new byte[200];
int length = 0;
while (-1 == (length = is.read(buffer, 0, buffer.length)))
{
String str = new String(buffer, 0, length);
System.out.println("welcome");
}
}
}
客户端:
public class TcpClient
{
public static void main(String[] args) throws Exception
{
Socket socket = new Socket("127.0.0.1", 7777);
OutputStream os = socket.getOutputStream();
os.write("hello world".getBytes());
}
}
一运行就有java.net.ConnectException: Connection refused: connect,求大神解决
防火墙已经关闭了的 展开
服务端:
public class TcpServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(7777);
Socket socket = ss.accept();
InputStream is = socket.getInputStream();
byte[] buffer = new byte[200];
int length = 0;
while (-1 == (length = is.read(buffer, 0, buffer.length)))
{
String str = new String(buffer, 0, length);
System.out.println("welcome");
}
}
}
客户端:
public class TcpClient
{
public static void main(String[] args) throws Exception
{
Socket socket = new Socket("127.0.0.1", 7777);
OutputStream os = socket.getOutputStream();
os.write("hello world".getBytes());
}
}
一运行就有java.net.ConnectException: Connection refused: connect,求大神解决
防火墙已经关闭了的 展开
5个回答
展开全部
//客户端
public static void main(String[] args) throws Exception
{
Socket socket = new Socket("127.0.0.1", 7777);
OutputStream os = socket.getOutputStream();
os.write("hello world".getBytes());
os.close();//客户端使用完流之后记得要关闭!!
}
//服务端
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(7777);
Socket socket = ss.accept();
InputStream is = socket.getInputStream();
byte[] buffer = new byte[200];
int length = 0;
while (-1 != (length = is.read(buffer, 0, buffer.length)))//这句错了,是不等于!
{
String str = new String(buffer, 0, length);
System.out.println("welcome "+str);
}
}
追问
没有解决根本问题,连不上。。。
追答
你先运行服务端,再运行客户端试试
展开全部
你是不是没有启动服务端啊?用下面命令试一下:
>netstat -no | findstr 7777
追问
没有我启动的服务器。。怎么启动~,findstr 7777就直接卡死了
追答
不是卡死了,是阻塞了。有看了下,你代码写的有问题liujie151376已指出。
while (-1 != (length = is.read(buffer, 0, buffer.length)))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
InetSocketAddress address = new InetSocketAddress("127.0.0.1", 7777);
try {
socket.connect(address, 10000 * 100);
} catch (IOException e) {
e.printStackTrace();
}
换这个写法试试
try {
socket.connect(address, 10000 * 100);
} catch (IOException e) {
e.printStackTrace();
}
换这个写法试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-31
展开全部
电脑防火墙关了试试。
追问
已经关了的。。
追答
代码没有问题,在我这儿是可以连通的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
朋友,你要确定你先运行server端,让后运行client端。读取流的地方有问题,还有,流管道用完了要关闭。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询