2012年4月5日 星期四

No.6


2台電腦要透過SERVER溝通,需3個winsock連線
由一個來LISTEN另外2個去接受連線

程式部分擷取
接受連線

Dim i As Integer

For i = 0 To 1
If Winsock1(i).State = sckClosed Then
Winsock1(i).Accept requestID'自動接受Clinet連線
Exit For
End If
Next
cmdSend(0).Enabled = True
轉傳資料
  Dim strData As String 
  Winsock1(Index).GetData strData, vbString'把Winsock1(Index)所接收的放到strData
  txtReceived.Text = strData
  
  If Index = 1 Then '判斷是由哪個Winsock1(Index)收到再由另一個Winsock1(Index)送出資料
  Winsock1(0).SendData txtReceived.Text
  End If
   If Index = 2 Then
  Winsock1(1).SendData txtReceived.Text
  End If





2012年3月29日 星期四

No.5

Java socket 
server:
clinet:





===============================分隔線============================
===============================分隔線============================
顯示Winsock各項步驟
sckClosed 0 關閉
sckOpen 1 打開
sckListening 2 偵聽
sckConnectionPending 3 連接掛起
sckResolvingHost 4 識別主機
sckHostResolved 5 已識別主機
sckConnecting 6 正在連接
sckConnected 7 已連接
sckClosing 8 同級人員正在關閉連接
sckError 9 錯誤

步驟.1 雙方Winsock狀態皆為0

步驟.2 Server Bind之後Winsock狀態改為1

步驟.3 Server Listen之後Winsock狀態改為2


步驟.4 Clinet與Server建立連線此時Clinet的Winsock狀態為6

步驟.5同上Server的Winsock狀態為7

步驟.6此時Clinet傳送文字過去,Clinet的Winsock狀態為7

步驟.7Server關閉Winsock連線,Winsock狀態變回0

步驟.8.Clinet狀態也便回0了










2012年3月15日 星期四

No.4

程式設計工藝大師
Socket TCP/UDP
TCP/UDP:主要差異為TCP為連接導向的傳輸協定,一個非連接導向的傳輸協定。
TCP:當封包遺失時,會重新傳送遺失的封包。
UDP:當封包遺失時,不會重新傳送遺失的封包。

Server

Winsock1.LocalPort = 7777
'設定自己Winsock的通訊埠
Winsock1.RemotePort = 6666
'設定對方Winsock的通訊埠
Winsock1.RemoteHost = "192.168.15.47"
Winsock1.Bind
Winsock1.Listen  '監聽

Clinet

Winsock1.LocalPort = 7777
'設定自己Winsock的通訊埠
Winsock1.RemotePort = 6666
'設定對方Winsock的通訊埠
Winsock1.RemoteHost = "192.168.15.47"
Winsock1.Bind


2012年3月1日 星期四

No.2

上帝 依照他的形象造人
物件Object
實際做出例子 實例來自於類別
類別Class
屬性property
事件event
方法method(V.)
行為behavior(V.)

import javax.swing.*;
import java.awt.event.*;
public class Exe extends JFrame implements ActionListener {
    int SizeW = 1210;
    int SizeH = 1170;
      public static void main(String[] args) {
     Exe test = new Exe();
      }
      public Exe() {
        setTitle("YJF");    // 設定視窗標題
        JButton mybutton = new JButton("楊");
        JButton mybutton1 = new JButton("政");
        JCheckBox CB = new JCheckBox("wwwww");
        JRadioButton RB = new JRadioButton("OO");
        mybutton.addActionListener(this);
        getContentPane().add(mybutton);
        getContentPane().add(mybutton1);
        getContentPane().add(RB);
        getContentPane().add(CB);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(512,512);
        mybutton.setBounds(300,300,100,100);
        mybutton1.setBounds(110,110,100,100);
        setVisible(true);
        CB.setSize(200, 100);
        RB.setSize(200, 100);
      }
      public void actionPerformed(ActionEvent e) {
          SizeW = SizeW * 2;
          SizeH = SizeH * 2; 
          setSize(SizeW,SizeH);
      }
}



2012年2月23日 星期四

No1


public class Test {
public static void main(String[] args) {
System.out.println("HelloWorld!");
}
}