【求助 几十行的socket编程作业】
服务器端:
package 计算机网络_socket通信_题2;
public class Server2 {
public static void main(String[] args) throws IOException, InterruptedException {
ServerSocket server2=null;
server2=new ServerSocket(2010);
Socket socket=null;
socket=server2.accept();
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//下面这段传输文件列表 用了File类的list()函数
File f=new File("C:\\Users\\Administrator\\Desktop\\杂物\\joytokey file");
String a="下面是文件列表\n";
os.println(a);
os.flush();
String [] s=f.list();
int j=1;
for(String i:s)
{
os.println(""+j+"."+i);
os.flush();
j++;
}
os.println("请输入需要传输的文件的序号:");
os.flush();
//下面这段负责接受客户端发来的序号
int x=0;
String y;
while((y=in.readLine())!=null)
{
x=Integer.parseInt(y);
}
System.out.println(x);
os.close();
socket.close();
server2.close();
}
}
客户端:
package 计算机网络_socket通信_题2;
public class Client2 {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket client2=new Socket("127.0.0.1",2010);
PrintWriter os=new PrintWriter(client2.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(client2.getInputStream()));
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
//输出从服务器端发来的文件列表
String b;
while((b=is.readLine())!=null){
System.out.println(b);
}
//接收从键盘的输入(文件序号),发送给服务器端
String a=in.readLine();
os.println(a);
os.flush();
is.close();
client2.close();
}
}
package 计算机网络_socket通信_题2;
public class Server2 {
public static void main(String[] args) throws IOException, InterruptedException {
ServerSocket server2=null;
server2=new ServerSocket(2010);
Socket socket=null;
socket=server2.accept();
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//下面这段传输文件列表 用了File类的list()函数
File f=new File("C:\\Users\\Administrator\\Desktop\\杂物\\joytokey file");
String a="下面是文件列表\n";
os.println(a);
os.flush();
String [] s=f.list();
int j=1;
for(String i:s)
{
os.println(""+j+"."+i);
os.flush();
j++;
}
os.println("请输入需要传输的文件的序号:");
os.flush();
//下面这段负责接受客户端发来的序号
int x=0;
String y;
while((y=in.readLine())!=null)
{
x=Integer.parseInt(y);
}
System.out.println(x);
os.close();
socket.close();
server2.close();
}
}
客户端:
package 计算机网络_socket通信_题2;
public class Client2 {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket client2=new Socket("127.0.0.1",2010);
PrintWriter os=new PrintWriter(client2.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(client2.getInputStream()));
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
//输出从服务器端发来的文件列表
String b;
while((b=is.readLine())!=null){
System.out.println(b);
}
//接收从键盘的输入(文件序号),发送给服务器端
String a=in.readLine();
os.println(a);
os.flush();
is.close();
client2.close();
}
}
...全文
相关推荐
Socket编程例子
关闭连接:完成通信后,客户端和服务器都需要调用`close()`函数关闭Socket,释放资源。三、UDP Socket编程UDP Socket编程相比TCP更简单,因为它不需要建立和维护连接。
socket网络编程大作业
"MFC实现局域网内点对点文件传输的大作业,涉及TCP/IP协议的运用,通过TCP和UDP实现可靠与不可靠的数据传输服务。项目由杨腾飞开发,包含需求分析、接口设计和自我评价等多个阶段。TCP/IP协议
Socket编程实例
Socket编程是网络编程中的核心部分,它允许两个网络应用程序通过TCP/IP协议进行通信。在这个C#的实例中,我们探讨了如何使用Socket类创建一个简单的聊天通信程序,包括客户端和服务端的实现。
c++ socket 编程
在IT行业中,网络通信是不可或缺的一部分,而C++作为强大的编程语言,经常被用来实现复杂的系统和网络应用。本文将深入探讨如何使用C++进行Socket编程,特别是在处理结构体消息传递方面。
socket网络程序设计作业
在IT领域,Socket网络程序设计是一项基础且重要的技能,它涉及到客户端和服务器之间的通信。本作业旨在让你深入理解和实践如何通过Socket实现网络信息的获取与交互。


Java SE
