<div>채팅 프로그램을 유튜브 보면서 이것저것 해보는데 계속 오류가 뜨네요 혹시 이 오류가 무슨 의미인지 아시는 분 계시나요??ㅜㅜ 책에도 없고 인터넷에도 없고ㅜㅜ</div> <div> </div> <div>서버와 클라이언트를 두개로 나누고 아래 창은 클라이언트를 디버깅하고 서버에 접속하려니까 뜨는 에러입니다ㅠㅠ 혹시 몰라 서버와 클라이언트 소스도 올리겠습니다.</div> <div> </div> <div><클라이언트></div> <div>Imports System.Net.Sockets<br>Imports System.Text<br>Public Class Form1<br> Dim clientSocket As New System.Net.Sockets.TcpClient()<br> Dim serverStream As NetworkStream<br> Dim readData As String<br> Dim infiCount As Integer</div> <div> Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load</div> <div> End Sub<br> Private Sub msg()<br> If Me.InvokeRequired Then<br> Me.Invoke(New MethodInvoker(AddressOf msg))<br> Else<br> TextBox2.Text = TextBox2.Text + Environment.NewLine + " >> " + readData<br> End If</div> <div> End Sub<br> Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click<br> readData = "Connect to Chat server"<br> msg()<br> <u>clientSocket.Connect("127.0.0.1", 8888)</u><br> serverStream = clientSocket.GetStream()<br> Dim outstream As Byte() = System.Text.Encoding.ASCII.GetBytes(TextBox1.Text + "$")<br> serverStream.Write(outstream, 0, outstream.Length)<br> serverStream.Flush()<br> Dim CtThread As Threading.Thread = New Threading.Thread(AddressOf getMessage)<br> CtThread.Start()<br> End Sub<br> Private Sub getMessage()<br> For infiCount = 1 To 2<br> infiCount = 1<br> serverStream = clientSocket.GetStream()<br> Dim bsize As Integer<br> Dim instream(10024) As Byte<br> bsize = clientSocket.ReceiveBufferSize<br> <u>serverStream.Read(instream, 0, bsize)</u><br> Dim returndata As String = System.Text.Encoding.ASCII.GetString(instream)<br> returndata = "" + returndata<br> msg()</div> <div><br> Next<br> End Sub</div> <div> Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click<br> Dim outStream As Byte() = System.Text.Encoding.ASCII.GetBytes(TextBox3.Text + "$")<br> serverStream.Write(outStream, 0, outStream.Length)<br> serverStream.Flush()<br> End Sub<br>End Class</div> <div> </div> <div>//밑줄부분이 계속 오류 나는 곳입니다..ㅜㅜㅜ</div> <div> </div> <div><서버></div> <div>Imports System.Net.Sockets<br>Imports System.Text</div> <div>Module Module1<br> Dim clientlist As Hashtable</div> <div><br> Sub Main()<br> Dim ServerSocket As New TcpListener(8888)<br> Dim clientsocket As TcpClient<br> Dim count As Integer<br> ServerSocket.Start()<br> Msg("Chat server started")<br> count = 0<br> While (True)<br> count += 1<br> clientsocket = ServerSocket.AcceptTcpClient()<br> Dim byteFrom(10024) As Byte<br> Dim DataFromClient As String<br> Dim NS As NetworkStream = clientsocket.GetStream()<br> NS.Read(byteFrom, 0, CInt(clientsocket.ReceiveBufferSize))<br> dataFromClient = System.Text.Encoding.ASCII.GetString(byteFrom)<br> dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"))<br> clientlist(DataFromClient) = clientsocket<br> BroadCast(DataFromClient + "Joined", DataFromClient, False)<br> Msg(DataFromClient + "Joined chat room")<br> Dim c As New clientFous<br> c.ClientStrart(clientsocket, DataFromClient, clientlist)<br> End While<br> clientsocket.Close()<br> ServerSocket.Stop()<br> Msg("Exit")<br> Console.ReadLine()<br> End Sub<br> Sub Msg(ByVal msg As String)<br> msg.Trim()<br> Console.WriteLine(" >> " + msg)<br> End Sub<br> Private Sub BroadCast(ByVal msg As String, ByVal Uname As String, ByVal flag As Boolean)<br> Dim item As DictionaryEntry<br> For Each item In clientlist<br> Dim broadcastsocket As TcpClient<br> broadcastsocket = CType(item.Value, TcpClient)<br> Dim bcs As NetworkStream = broadcastsocket.GetStream()<br> Dim Bcb As [Byte]()<br> If flag = True Then<br> Bcb = Encoding.ASCII.GetBytes(Uname + " says: " + msg)<br> Else<br> Bcb = Encoding.ASCII.GetBytes(msg)<br> End If<br> bcs.Write(Bcb, 0, Bcb.Length)<br> bcs.Flush()<br> Next<br> End Sub<br> Public Class clientFous<br> Dim clientsocket As TcpClient<br> Dim clno As String<br> Dim clientlist As Hashtable<br> Public Sub ClientStrart(ByVal inclientsocket As TcpClient, ByVal clientno As String, ByVal clist As Hashtable)<br> Me.clientsocket = inclientsocket<br> Me.clno = clientno<br> Me.clientlist = clist<br> Dim CTTread As Threading.Thread = New Threading.Thread(AddressOf ichat)<br> CTTread.Start()<br> End Sub<br> Private Sub ichat()<br> Dim requestcount As Integer<br> Dim bytefrom(10024) As Byte<br> Dim datafromclient As String<br> Dim sendbyte As [Byte]()<br> Dim serverResponse As String<br> Dim Rcount As String<br> requestcount = 0<br> While (True)<br> Try<br> requestcount += 1<br> Dim NS As NetworkStream = clientsocket.GetStream()<br> NS.Read(bytefrom, 0, CInt(clientsocket.ReceiveBufferSize))<br> datafromclient = System.Text.Encoding.ASCII.GetString(bytefrom)<br> datafromclient = datafromclient.Substring(0, datafromclient.IndexOf("$"))<br> Msg("From client - " + clno + " : " + datafromclient)<br> Rcount = Convert.ToString(requestcount)<br> BroadCast(datafromclient, clno, True)<br> Catch ex As Exception<br> MsgBox(ex.ToString)</div> <div> End Try<br> End While<br> End Sub<br> End Class<br>End Module<br></div> <div style="text-align:left;"><img width="800" height="450" class="chimg_photo" style="border:;" alt="1.png" src="http://thimg.todayhumor.co.kr/upfile/201510/1445968031fEkdYIS9izYbUa.png"></div> <div style="text-align:left;"><img width="800" height="450" class="chimg_photo" style="border:;" alt="2.png" src="http://thimg.todayhumor.co.kr/upfile/201510/1445968033LiabSxh8rMhAwUP7ow57CO1Qjk44.png"></div> <div style="text-align:left;"><img width="0" height="0" style="border:;" alt="윈도우.jpg" src="http://thimg.todayhumor.co.kr/upfile/201510/1445968035tBCfeHxtWD4hMwIY4wFUCcqC7DQo.jpg"></div> <div style="text-align:left;"><img width="538" height="501" style="border:;" alt="3.png" src="http://thimg.todayhumor.co.kr/upfile/201510/1445968351BvM9JJVPGnAeF2Rs3YN6Oe.png"></div> <div> </div> <div> </div> <div> </div> <div> </div> <div>질문이 너무 터무니 없이 막연해 보이기도 하지만ㅠㅠ 조금의 도움을 주신다면 미래의 개발자가 좀 더 배워가는 큰 기회가 될것같습니다. 죄송합니다ㅠㅠ <br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.