資源簡介
網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為一個socket。
建立網絡通信連接至少要一對端口號(socket)。socket本質是編程接口(API),對TCP/IP的封裝,TCP/IP也要提供可供程序員做網絡開發所用的接口,這就是Socket編程接口;HTTP是轎車,提供了封裝或者顯示數據的具體形式;Socket是發動機,提供了網絡通信的能力。

代碼片段和文件信息
package?ChessGame;
import?java.awt.Color;
import?java.awt.Graphics;
import?java.awt.Image;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.io.BufferedReader;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.net.Socket;
import?java.net.UnknownHostException;
import?java.util.ArrayList;
import?javax.swing.Jframe;
import?javax.swing.JOptionPane;
import?javax.swing.Timer;
import?util.CloseUtil;
import?util.GameUtil;
public?class?ChessGame1?extends?Jframe?implements?MouseListener?{
private?int?blackcount?=?0;//記錄贏的局數
private?int?whitecount?=?0;
private?boolean?flag?=?true;
private?boolean?whitewin;
public?BufferedReader?console;
public?static?DataOutputStream?dos;//接收輸出
public?boolean?isRunning?=?true;
private?boolean?flash?=?false;
public?boolean?tp?=?true;
public?static?DataInputStream?dis;//接收輸入
public?int?ax?=?0;
public?int?ay?=?0;
public?Timer?time;
private?ArrayList?blacklist;
private?ArrayList?whitelist;
public?ChessGame1()?throws?UnknownHostException?IOException?{
settitle(“五子棋“);
setSize(700?750);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
blacklist?=?new?ArrayList();
whitelist?=?new?ArrayList();
this.addMouseListener(this);//?增加鼠標監聽器
new?Thread(new?Runnable()?{//?接收坐標線程
@Override
public?void?run()?{
while?(isRunning)?{
tp=true;
try?{
ax?=?dis.readInt();
ay?=?dis.readInt();
if?(ax?!=?0?&&?flag?==?false)?{
tp=!tp;
whitelist.add(new?mypoint(ax?ay));
repaint();
}?else?if?(ax?!=?0?&&?flag?==?true)?{
tp=!tp;
blacklist.add(new?mypoint(ax?ay));
repaint();
}
}?catch?(IOException?e2)?{
//?TODO?自動生成的?catch?塊
//?e.printStackTrace();
isRunning?=?false;
CloseUtil.closeAll(dis);
}
}
}
}).start();
;
}
@Override
public?void?paint(Graphics?g)?{//?繪圖
flag?=?!flag;
if?(flash?==?true)?{
super.paint(g);
}
g.setColor(new?Color(180?150?100));
g.fillRect(0?0?700?750);
g.setColor(Color.black);
flash?=?false;
for?(int?i?=?2;?i?<=?30;?i++)?{
g.drawLine(40?20?*?i?600?20?*?i);//?橫線
g.drawLine(20?*?i?40?20?*?i?600);//?豎線
}
Image?img?=?GameUtil.getImage(“images/2.1.png“);
for?(int?i?=?0;?i?
g.drawImage(img?(int)?blacklist.get(i).getX()?*?20?+?12?(int)?blacklist.get(i).getY()?*?20?+?32?null);
}
Image?img1?=?GameUtil.getImage(“images/1.1.png“);
for?(int?i?=?0;?i?
g.drawImage(img1?(int)?whitelist.get(i).getX()?*?20?+?12?(int)?whitelist.get(i).getY()?*?20?+?32?null);
}
this.checkwin(blacklist?0?0?0?0);//?判斷輸贏
this.checkwin(whitelist?0?0?0?1);
g.setColor(Color.black);
Str
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\
?????文件?????????301??2018-03-07?20:27??FiveChess1.1\.classpath
?????文件?????????388??2018-03-07?20:27??FiveChess1.1\.project
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\.settings\
?????文件?????????598??2018-03-07?20:27??FiveChess1.1\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\bin\
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\bin\ChessGame\
?????文件????????1513??2018-03-07?20:27??FiveChess1.1\bin\ChessGame\ChessGame1$1.class
?????文件????????8370??2018-03-07?20:27??FiveChess1.1\bin\ChessGame\ChessGame1.class
?????文件?????????517??2018-03-07?20:27??FiveChess1.1\bin\ChessGame\mypoint.class
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\bin\images\
?????文件?????????684??2018-03-07?20:27??FiveChess1.1\bin\images\1.1.png
?????文件?????????846??2018-03-07?20:27??FiveChess1.1\bin\images\2.1.png
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\bin\net\
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\bin\net\tcp\
?????文件????????2504??2018-03-07?20:27??FiveChess1.1\bin\net\tcp\Server$MyChannel.class
?????文件????????1397??2018-03-07?20:27??FiveChess1.1\bin\net\tcp\Server.class
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\bin\util\
?????文件?????????637??2018-03-07?20:27??FiveChess1.1\bin\util\CloseUtil.class
?????文件?????????973??2018-03-07?20:27??FiveChess1.1\bin\util\GameUtil.class
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\src\
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\src\ChessGame\
?????文件???????10531??2018-03-07?20:27??FiveChess1.1\src\ChessGame\ChessGame1.java
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\src\images\
?????文件?????????684??2018-03-07?20:27??FiveChess1.1\src\images\1.1.png
?????文件?????????846??2018-03-07?20:27??FiveChess1.1\src\images\2.1.png
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\src\net\
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\src\net\tcp\
?????文件????????2520??2018-03-07?20:27??FiveChess1.1\src\net\tcp\Server.java
?????目錄???????????0??2018-03-07?20:27??FiveChess1.1\src\util\
?????文件?????????377??2018-03-07?20:27??FiveChess1.1\src\util\CloseUtil.java
............此處省略1個文件信息
評論
共有 條評論