[程式] 請教一個socket的問題???
dear all:
小弟我最近寫一個socket程式去接收perl程式所傳來的字串,每一次傳都是小筆的而且
長度絕對不會超過100,但卻出現過單次傳輸C#這邊接到的buf是滿的,至於多出來的內容
看起來似乎是之前傳過的data(這點無法實際比對),
每一次傳的資料大小絕對小於100,但居然會出現滿滿的512長度,後來我在perl
改成每隔一秒傳一次資料問題就不見了???
不曉得是不是socket用於自己電腦上的傳輸是不是參數需要調整,或是剛好當時
兩個程式同時傳輸資料導致buf滿了,但是就算如此根據我傳的資料也不至於大於512
而且buf的狀況是會慢慢累積不是一次到512的byte
不曉得有沒有人曉得可能是出問題
感謝喔
C#:
string ip = "127.0.0.1"; int port = 1235
IPEndPoint ipp = new IPEndPoint(IPAddress.Parse(ip), port);
Socket CM = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
ProtocolType.Tcp);
CM.Bind(ipp);
CM.Listen(1);
Socket server = CM.Accept();
byte[] buf = new Byte[512];
server.Receive(buf);
perl:
$MySocket=new IO::Socket::INET->new(PeerPort=>1235,Proto=>"tcp"
,PeerAddr=>'localhost',Type=>SOCK_STREAM )
or die print"can't connect CM\n" ;
$MySocket->send($data);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.131.63
推
04/06 00:17, , 1F
04/06 00:17, 1F