java 网络编程(网络编程作业-简单抢答器)

一、客户端项目结构。

1.1 Client.java

package com.jcj.client;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {
private Socket socket;
private BufferedReader bis;
private PrintWriter bos;

public static void main(String[] args) {
new Client().connect();
}
public void connect() {
try {
socket = new Socket("127.0.0.1", 55533);
bos = new PrintWriter((socket.getOutputStream()));
bis = new BufferedReader(new InputStreamReader(socket.getInputStream()));
new SendThread(socket, bos).start();
new GetThread(bis, socket).start();

} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

1.2 GetThread.java

package com.jcj.client;


import java.io.BufferedReader;

import java.io.IOException;

import java.net.Socket;


public class GetThread extends Thread {


private Socket socket;

private BufferedReader br;

String str="";

public GetThread(BufferedReader br, Socket socket) {

this.socket = socket;

this.br = br;

}

public void run() {

while(true){

str="";

try {

str=br.readLine().toString();

if(str.length()>0)

System.out.println(str);

} catch (IOException e) {

e.printStackTrace();

}

}

}

}


1.3 SendThread.java

package com.jcj.client;


import java.io.PrintWriter;

import java.net.Socket;

import java.util.Scanner;


public class SendThread extends Thread {


private Socket socket;

private PrintWriter pw;

private Scanner s = new Scanner(System.in);

private String str = "&

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本软件在支持TCP/IP协议的网络内都可使用,替代传统的电子抢答器,解决传统的电子抢答器极易损坏且布线麻烦费用高等问题,准确灵敏。实际使用时,一台微机作服务器,其他微机与服务器在同一局域网上就可以进行抢答,参赛队数目前最多支持 100 个(理论上可以支持无限,但是受图形界面版面布局限制)满足绝大多数的抢答需求。 服务端主要功能设置: 1、标题设置:标题内容颜色可以修改,方便于不同场合使用。 2、端口设置:端口可以修改,并避免与其他软件冲突。 3、声音设置:服务端在用户上线、抢答犯规、抢答成功、问题回答正确和回答错误时或者超时都有不同的声音提示。声音可以自行设置。 4、设置分数:初始分、答对加分、打错扣分、抢答扣分、超时扣分以及答题时限。 5、图形设置:可设置图标数量行和列数 以及不同状态下图标的颜色。 6、题号设置:点击题号控制按钮时,给所有客户机发送“请做好抢答准备!”信息,但此时抢答将会犯规;在点击“开始抢答”后方可正式抢答。犯规者扣分并且只能等待竞答下一题。 7、抢答设置:在点击“开始抢答”后方可正式抢答。抢答成功会答题显示倒计时面板。 在答题(倒计时)面板点击“答对了”按钮加分,点击“答错了”按钮扣分,没点击这两个按钮的话,倒计时完成会自动扣分。 8、题目导入:将比赛题目按行录入文本文件(每行一题。避免出错编辑题目时关闭自动换行)然后从txt文件导入题目。 9、全屏设置:为方便投影展示,可以设置全屏。 客户端主要功能设置: 在客户端输入序号、代表队名称及服务器IP地址,按连接服务器,服务器上相应代表队序号图标变色。客户端等待服务器命令进行抢答操作。序号重复会提示更改序号重新连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值