import java.io.*;
import java.net.*;
public class talkserver
{
public static void main(String[] args)
{
try //注意异常处理,打开ServerSocket 构造函数的异常
{
ServerSocket server = new ServerSocket(4700); // 带端口号
}
catch(Exception e)
{
System.out.println("Can not listen to "+ e);
}
try
{
Socket socket = server.accept();
}
catch(Exception e)
{
System.out.println("Error "+ e);
}
String line ;
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine(is));
line = sin.readLine();
while(!line.equals("bye"))
{
os.pirntln(line);
os.flush(); // 清空缓存
System.out.println("Server:"+line);
System.out.println("Client:" + is.readLine());
line = sin.readLine();
}
is.close();
os.close();
socket.close();
server.close();
}
}以上程序在 Socket socket = server.accept();
这里编译报错,看了几遍,都不知道为啥。
import java.net.*;
public class talkserver
{
public static void main(String[] args)
{
try //注意异常处理,打开ServerSocket 构造函数的异常
{
ServerSocket server = new ServerSocket(4700); // 带端口号
}
catch(Exception e)
{
System.out.println("Can not listen to "+ e);
}
try
{
Socket socket = server.accept();
}
catch(Exception e)
{
System.out.println("Error "+ e);
}
String line ;
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine(is));
line = sin.readLine();
while(!line.equals("bye"))
{
os.pirntln(line);
os.flush(); // 清空缓存
System.out.println("Server:"+line);
System.out.println("Client:" + is.readLine());
line = sin.readLine();
}
is.close();
os.close();
socket.close();
server.close();
}
}以上程序在 Socket socket = server.accept();
这里编译报错,看了几遍,都不知道为啥。
解决方案 »
- 请教分号的作用?
- 读取文件前怎么样确认文件的编码方式呢
- 小白问题~`` (有空就进来帮忙一下~)
- 怎样判断文件是否打开?
- 这几天高手没上班啊。 javascript 如何进行 gb2312 的 url 编码
- 请大侠们领我走进java的第一步
- How to make ResultSet move previous?
- 再来100分!希望大哥能帮帮小弟!在线等候!
- 祝所有大连的 csdn 中 java 版的 网友圣诞快乐!!!!:)
- 用过WINCVS管理JAVA PROJECT的兄弟们能谈谈经验感受么??(定有重谢,我会加分的)
- C#转Java,long转int的数据溢出但程序不报错问题 谢谢
- java如何动态查询oracle
{
ServerSocket server = new ServerSocket(4700); // 带端口号
}
catch(Exception e)
{
System.out.println("Can not listen to "+ e);
}这个里面,而你使用的时候是在外部使用的,可以这样调整下,去掉所有的try,catch,在main方法里面使用一个try,catch,把所有的代码写在里面,即可
import java.net.*;
public class talkserver {
public static void main(String[] args) {
try // 注意异常处理,打开ServerSocket 构造函数的异常
{
ServerSocket server = new ServerSocket(4700); // 带端口号
Socket socket = server.accept();
String line;
BufferedReader is = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("Client:" + is.readLine());
line = sin.readLine();
while (!line.equals("bye")) {
os.println(line);
os.flush(); // 清空缓存
System.out.println("Server:" + line);
System.out.println("Client:" + is.readLine());
line = sin.readLine(); }
is.close();
os.close();
socket.close();
server.close(); } catch (Exception e) {
System.out.println("your error is " + e);
}
}
}
try //注意异常处理,打开ServerSocket 构造函数的异常
{
ServerSocket server = new ServerSocket(4700); // 带端口号
}
catch(Exception e)
{
System.out.println("Can not listen to "+ e);
}
try
{
Socket socket = server.accept();
}
catch(Exception e)
{
System.out.println("Error "+ e);
}
红色部分放在同一个try语句块中,或者将server放在蓝色位置单独声明变量
除了楼上的建议外,也可以在try/catch外定义那些变量。ServerSocket server=null;
Socket socket=null;
BufferedReader is=null;
PrintWriter os=null;
import java.net.*;public class TalksServer {
public static void main(String[] args) {
//在try {}catch{}外面定义变量,然后再try中创建
ServerSocket server = null;
Socket socket = null;
String line;
BufferedReader is = null;
PrintWriter os = null;
BufferedReader sin = null;
try {// 注意异常处理,打开ServerSocket 构造函数的异常
server = new ServerSocket(4700); // 带端口号
socket = server.accept();
} catch (Exception e) {
System.out.println("Can not listen to " + e);
} try {
is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
os = new PrintWriter(socket.getOutputStream());
sin = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Client:" + is.readLine());
line = sin.readLine();
while (!line.equals("bye")) {
os.println(line);
os.flush(); // 清空缓存
System.out.println("Server:" + line);
System.out.println("Client:" + is.readLine());
line = sin.readLine(); }
} catch (Exception ex) {
ex.printStackTrace();
} finally { try {
if (is != null)
is.close();
if (os != null)
os.close();
if (socket != null)
socket.close();
if (server != null)
server.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}