---
title: "Göra en chat"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/74885-göra-en-chat"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Alpha II"
published: "2003-04-24T15:37:17.000Z"
updated: "2003-04-26T21:24:07.000Z"
replies: 4
views: 299
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/74885-göra-en-chat"
---

# Göra en chat

## #1 — Alpha II, 2003-04-24T15:37Z

Vill lära mig hur winsock (eller om det är winsock2 jag ska använda) fungerar och tänkte att göra en chat eller nåt litet projekt vore en bra början. Men då kom jag på att jag inte hade en aning om hur man gör. Så var kan jag lära mig? Finns det några bra toturials?

Permalänk: https://www.webforum.nu/p/74885

## #2 — PeW, 2003-04-24T15:47Z

<http://www.codeproject.com/internet/>

Permalänk: https://www.webforum.nu/p/1023888

## #3 — Reza, 2003-04-24T15:56Z

<http://www.sockaddr.com/ExampleSourceCode.html>

MSDN är ju annars det bästa källan (enligt mig):

Platform SDK  
Networking and Directory Services  
Network Protocols 
Windows Sockets Version 2

Permalänk: https://www.webforum.nu/p/1023895

## #4 — Alpha II, 2003-04-25T16:58Z

Hoppades på att det skulle fungera men det gjorde det inte :(
Har inte riktigt greppat hur sockets fungerar och om jag kanske behöver en liste socket här och om jag på ngt sätt måste använda accept()?!

```
#include <iostream>
#include <windows.h>
#include <winsock.h>
using namespace std;

void sleep(int);

bool server_started=false;

int main(int argc, char **argv)
{
	system("cls");
	cout << "*******************************************\n";
	cout << "*                 CHAT XXS                *\n";
	cout << "*******************************************\n";
	cout << "\n";

	char ip[25];
	cout << "Connect to IP: ";
	cin >> ip;

	int port = 5757;

	WSADATA w;
	WSAStartup(0x0202, &w);

    LPHOSTENT lpHostEntry;
	lpHostEntry = gethostbyname(ip);

	SOCKET	remote_socket;
	remote_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

	SOCKADDR_IN sa_server;
	sa_server.sin_family = AF_INET;
	sa_server.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
	sa_server.sin_port = htons(port);

	connect(remote_socket, (LPSOCKADDR)&sa_server, sizeof(struct sockaddr));

	char buffer[256];
	bool done=false;
	do
	{
		memset(buffer, 0, sizeof(buffer));
		recv(remote_socket, buffer, sizeof(buffer), 0);
		printf("\nResponse: %s\n", buffer);
		printf("Send: ");
		cin >> buffer;

		if(!strcmp(buffer,"exit"))
			done = true;
		else
			send(remote_socket, buffer, sizeof(buffer), 0);

	} while(!done);

	closesocket(remote_socket);
	WSACleanup();

	return 0;
}

void sleep(int ms)
{
	int start = GetTickCount();
	while(start+ms>GetTickCount());
}
```

Permalänk: https://www.webforum.nu/p/1024711

## #5 — Reza, 2003-04-26T21:24Z

Jag hoppas att detta kan hjälpa dig (bifogad fil), det är som du ser inte helt komplett och det finns säkert en hel del andra sätt att göra det på, men se det som en bra start punkt.

Bilagor:

- [22.txt](https://www.webforum.nu/a/1323.txt)

Permalänk: https://www.webforum.nu/p/1025778

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/74885-göra-en-chat
