


源代码:
import java.io.*;
import java.net.*;
class TCPServer {
public static void main(String argv[]) throws Exception
{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6789);
while(true){
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
------解决思路----------------------
提示信息已经很明确了,你的端口已经被占用了,换个端口吧。
------解决思路----------------------
正确,换个监听端口号。
------解决思路----------------------
命令行用nestat -a看看哪个端口没有被占用,换一个没有被占用的就好了
------解决思路----------------------
你的是java的TCP编程,一般需要两个程序,一个Server程序,一个Client程序,
Socket构造的是Client的程序,要运行Client程序,需要先运行Server程序,我就写了一个Client程序,
1 import java.io.*;
2 import java.net.*;
3 public class TCPTest{
4 public static void main(String[] args)throws Exception{
5 Socket s = new Socket("127.0.0.1",61273);
6 s.close();
7 }
8 }
直接运行就出现跟你一样错误.
Exception in thread "main" java.net.ConnectException: 拒绝连接
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at TCPTest.main(TCPTest.java:5)
如果我写一个Server程序,
1 import java.io.*;
2 import java.net.*;
3 public class TCPServerTest{
4 public static void main(String[] args)throws Exception{
5 ServerSocket ss = new ServerSocket(61273);
6 ss.accept();
7 ss.close();
8 }
9 }
先运行Server程序再运行Client程序就没错误了.我也是初学者,今天才好好看了看这个,推荐你看一下马士兵的J2se视频教学,第十章是讲网络的,挺不错的.
------解决思路----------------------
楼上正解,建议楼主先看看视频教学,按照视频一步步的来。
------解决思路----------------------
小峰在线视频,蛮简单的一个聊天程序,楼主做做就完全弄懂了
------解决思路----------------------
没引public 默认是protected,这个是访问权限, 你可以运行 说明你本地端口没被占用
------解决思路----------------------
你的程序是没有问题的,应该是端口占用,你可以搜搜怎么解除你本地端口占用问题。